【问题标题】:Angular - How to prevent ngIf from destroying the component every time the condition changesAngular - 每次条件发生变化时如何防止 ngIf 破坏组件
【发布时间】:2021-12-21 22:50:41
【问题描述】:

我有这个代码:

<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)的组件被销毁 我可以阻止这个过程吗? 还是有其他方法可以做到这一点?

【问题讨论】:

  • 根据您的业务逻辑所做的准确,您可以使用[hidden],即[hidden]="language.ID !== selectedLanguage.ID"
  • 效果很好,非常感谢@AldinBradaric
  • 我的逻辑是显示语言与所选语言具有相同 ID 的组件,请添加您的评论作为答案以将其标记为 m 问题的解决方案

标签: angular angular-components angular-ng-if


【解决方案1】:

根据你的业务逻辑具体做什么,你可以使用[hidden],即

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

【讨论】:

    猜你喜欢
    • 2017-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    相关资源
    最近更新 更多