0
<div *ngIf="variable">
    <directive></directive>
</div>

在上面的代码片段(Angular 2)中,我将变量从trueto更改为false,因此指令不会呈现,接下来当我尝试再次将变量设置为 true 时,会再次onInit从指令中调用。

我希望仅在第一次加载指令期间调用 ngOnInit 方法。

为什么每次变量值从 false ngOnInit true 更改时都会调用我的指令 ngOnInit。

有什么建议么。

4

1 回答 1

4

而不是使用*ngIfuse [hidden]="variable"

使用时,*ngIf您将从中删除元素DOM,一旦再次将其切换为 true,它将再次呈现指令。

另外,我建议您查看隐藏的 文档以了解可能的 CSS 问题。

于 2018-09-11T11:03:23.190 回答