Angular — Как предотвратить уничтожение компонента ngIf при каждом изменении условия

#angular #angular-components #angular-ng-if

Вопрос:

У меня есть этот код :

 lt;ng-container *ngFor="let language of languages"gt;  lt;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)"  gt;  lt;/app-fields-to-translategt;  lt;/ng-containergt;  

и каждый раз, когда выбранный язык изменяет компонент (поле для перевода), который уничтожается Могу ли я предотвратить этот процесс? или есть другой способ сделать это?

Комментарии:

1. В зависимости от того, что именно делает ваша бизнес-логика , вы можете использовать [hidden] , т. е. [hidden]="language.ID !== selectedLanguage.ID"

2. это очень хорошо работает, большое спасибо @AldinBradaric

3. моя логика заключается в отображении компонента ,в котором язык имеет тот же идентификатор, что и выбранный язык, пожалуйста, добавьте свой комментарий в качестве ответа, чтобы отметить его как решение проблемы m

Ответ №1:

В зависимости от того, что именно делает ваша бизнес-логика , вы можете использовать [hidden] , т. е.

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