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

标签 angular angular-ng-if

我知道你们中的一些人会对这个问题感到畏缩,因为我知道我要问的不是最佳实践。不过,我还是要问,并希望将滥用情况降到最低。

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

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

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

最佳答案

ngIf 没有那种行为。

尝试使用 ngStyle 代替:

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

关于angular - 是否可以在不从 DOM 中删除元素的情况下使用 Angular ngIf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55937401/

相关文章:

html - 创建可在各种页面上使用的可重用模板

javascript - Angular:如何防止组件模板闪烁两个条件语句?

angular - 在 Angular CLI 的 tsconfig 中使用路径映射

java - 如何为 API 测试创建 JSESSIONID

css - Angular Material2 - 以编程方式设置颜色

angular - ngStyle 背景图像不可见

angular - Angular 2+ 中 *ngIf 与 [ngSwitch] 之间的区别

javascript - 需要 ng-repeat 的 Angular 方向吗?

angularjs - 如何让 ng-model 在 ng-if 中工作?

Angular2 无法绑定(bind)到 DIRECTIVE,因为它不是元素的已知属性