父元素隐藏再显示时多次调用Directive的onInit方法
Directive's onInit method is called many times when the parent element is hidden and shown again
<div *ngIf="variable">
<directive></directive>
</div>
在上面的代码片段 (Angular 2) 中,我将变量从 true
更改为 false
,因此当我尝试设置时指令不会呈现和下一个变量再次变为 true,onInit
再次从指令中调用。
我只想在第一次加载指令时调用 ngOnInit 方法。
为什么每次当变量值从 false 变为 ngOnInit true 时,我的指令 ngOnInit 都会被调用。
任何建议。
而不是使用 *ngIf
使用 [hidden]="variable"
.
当您使用 *ngIf
时,您将从 DOM
中删除该元素,一旦您再次将其切换为 true,它将再次呈现该指令。
此外,我建议您查看 隐藏 docs 以了解可能的 CSS 问题。
<div *ngIf="variable">
<directive></directive>
</div>
在上面的代码片段 (Angular 2) 中,我将变量从 true
更改为 false
,因此当我尝试设置时指令不会呈现和下一个变量再次变为 true,onInit
再次从指令中调用。
我只想在第一次加载指令时调用 ngOnInit 方法。
为什么每次当变量值从 false 变为 ngOnInit true 时,我的指令 ngOnInit 都会被调用。
任何建议。
而不是使用 *ngIf
使用 [hidden]="variable"
.
当您使用 *ngIf
时,您将从 DOM
中删除该元素,一旦您再次将其切换为 true,它将再次呈现该指令。
此外,我建议您查看 隐藏 docs 以了解可能的 CSS 问题。