是否可以使用 Angular ngIf 而不从 DOM 中删除元素?

Way*_*kie 4 angular-ng-if angular

我知道你们中的一些人会对这个问题感到畏缩,因为我知道我所问的并不是最佳实践。然而,无论如何我都会问,并希望将虐待降到最低。

当条件语句为 false 时,ngIf 从 DOM 中删除元素。是否有设置、标志、参数等可以改变 ngIf 的行为,以便元素保留在 DOM 中并设置为 display: none ?我不是在寻找解决方法,例如 [hidden],但我想知道是否可以更改 *ngIf 的行为。

我很快(这是关键字)更新了现有的 jQuery 项目。该项目正在对手风琴使用“.toggle()”方法。作为更新的一部分,手风琴项目现在使用 ngIf 进行过滤。因为 jQuery 代码会在应用程序加载时初始化手风琴,并使用 ngIf 删除它们,“未初始化”它们。

我使用了一种解决方法来解决该问题。但我仍然很好奇是否可以选择更改 ngIf 的行为。

Ran*_*lta 5

ngIf没有那种行为。

尝试ngStyle改为:

[ngStyle]="{display: condition ? 'block' : 'none'}"
Run Code Online (Sandbox Code Playgroud)