首页 > 解决方案 > Angular - 每次条件发生变化时如何防止 ngIf 破坏组件

问题描述

我有这个代码:

<ng-container *ngFor="let language of languages">
      <app-fields-to-translate
        *ngIf="language.ID === selectedLanguage.ID"
        [AttributeGroupsCollapses]="AttributeGroupsCollapses"
        [AttributeGroups]="AttributeGroups"
        [Attributes]="Attributes"
        [categoriesCollapsed]="categoriesCollapsed"
        [generalCollabsed]="generalCollabsed"
        [selectedLanguage]="selectedLanguage"
        (CategoriesCollapsedEmmiter)="categoriesCollapsed = $event"
        (CollapseGeneralEmmiter)="generalCollabsed = $event"
        (AddFieldToTranslation)="AddFieldToTranslation($event)"
        (AddAttrubuteToTranslation)="AddAttributeToTranslation($event)"
      >
      </app-fields-to-translate>
    </ng-container>

并且每次 selctedLanguage 更改 (field-to-translate) 的组件被破坏我可以阻止这个过程吗?还是有另一种方法来做这些事情?

标签: angularangular-componentsangular-ng-if

解决方案


根据您的业务逻辑的确切作用,您可以使用[hidden],即

[hidden]="language.ID !== selectedLanguage.ID"


推荐阅读