是否可以在不从DOM中删除元素的情况下使用Angular ngIf?

时间:2019-05-01 13:56:08

标签: angular angular-ng-if

我知道你们中的一些人会畏缩这个问题,因为我知道我要问的不是最佳实践。但是,无论如何,我都会提出疑问,并希望将滥用现象降到最低。

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

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

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

2 个答案:

答案 0 :(得分:1)

ngIf没有这种行为。

改为尝试ngStyle

[ngStyle]="{display: condition ? 'block' : 'none'}"

答案 1 :(得分:0)

您可以使用[hidden]。请记住否认您的第一个条件。

<div [hidden]="!yourCondition" >
    
</div>