<div *ngIf="variable">
<directive></directive>
</div>
在上面的代码片段(Angular 2)中,我将变量从true
to更改为false
,因此指令不会呈现,接下来当我尝试再次将变量设置为 true 时,会再次onInit
从指令中调用。
我希望仅在第一次加载指令期间调用 ngOnInit 方法。
为什么每次变量值从 false ngOnInit true 更改时都会调用我的指令 ngOnInit。
有什么建议么。
<div *ngIf="variable">
<directive></directive>
</div>
在上面的代码片段(Angular 2)中,我将变量从true
to更改为false
,因此指令不会呈现,接下来当我尝试再次将变量设置为 true 时,会再次onInit
从指令中调用。
我希望仅在第一次加载指令期间调用 ngOnInit 方法。
为什么每次变量值从 false ngOnInit true 更改时都会调用我的指令 ngOnInit。
有什么建议么。
而不是使用*ngIf
use [hidden]="variable"
。
使用时,*ngIf
您将从中删除元素DOM
,一旦再次将其切换为 true,它将再次呈现指令。
另外,我建议您查看隐藏的 文档以了解可能的 CSS 问题。