鍍金池/ 問答/HTML5  HTML/ Angular2:如何獲取*ngIf控制下的元素?

Angular2:如何獲取*ngIf控制下的元素?

頁面代碼:<div id='d' *ngIf ="show"></div>
ts文件:在請求成功的回調函數中:
this.show = true;
document.getElementById('d')
此時為null,我猜想因為現(xiàn)在dom還沒渲染完成,所有拿不到這個div,試著改成
this.show = true;
setTimeout(()=>{
document.getElementById('d');
},100);
此時可以拿到dom,但不清楚這樣是否會有問題。請問有更好的方法嗎?

回答
編輯回答
淚染裳

之所以問上面的問題,是因為我要拿到dom以后要去init一個echart表格。目前找到了3個解決辦法:1.是問題中提到的方法,放到setTimeout的回調中執(zhí)行,并設置一個時間。2.改用[hidden]來控制。3.將需要控制的部分做成子組件

2018年8月20日 02:56
編輯回答
命于你

可以試一下ngAfterChecked

2018年7月16日 18:13