![](/img/trans.png)
[英]Is a DOM element available immediately after it has been added to the DOM tree?
[英]How to know when element has been added to DOM on Angular 2?
我需要操作由*ngIf
指令隱藏的DOM元素:
<div *ngIf="myBoolean">
<canvas id="myElement"></canvas>
</div>
單擊按鈕后,我運行以下方法:
showMyElement(){
this.myBoolean = true; //This shows the div containing myElement
console.log(document.getElementById('myElement')); //This gives me null
}
但是如果我在看到myElement
之后點擊另一個按鈕,那么我就不會得到null
。 我想當我第一次得到它時,它還沒有被添加到DOM中。 我怎么知道myElement
被添加到DOM? 是否有類似(ngModelChange)
東西,但是當添加到DOM時? 謝謝!
您可以手動運行更改檢測周期以確保更新視圖
constructor(private cdRef: ChangeDetectorRef) {}
showMyElement(){
this.myBoolean = true;
this.cdRef.detectChanges(); // redraw view
console.log(document.getElementById('myElement')); //This gives me null
}
也可以看看
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.