簡體   English   中英

Angular2 DOMContentLoaded,生命周期鈎子

[英]Angular2 DOMContentLoaded, Lifecycle Hook

我正在使用 angular 2 (TS) 並需要一些幫助:

     constructor(public element:ElementRef){}  
     ngOnInit(){
       this.DOMready()
     }  

     DOMready() {
       if (this.element) {
         let testPosition = this.element.nativeElement.getElementsByClassName("_mypost");
         console.log(testPosition);
         for (let i = 0; i < testPosition.length; i++) {
         console.log(testPosition[i]);
         }
     }else {
        setTimeout(this.DOMready, 100)
    }

我的問題是:
1)當文檔加載並准備使用它時,我無法正確捕捉時間(此代碼是我擁有的最好的代碼,是的,我嘗試了 angular2 生命周期掛鈎......)
2) console.log(testPosition) - 給出我想要的列表(長度為 10),
但如果它在 console.log(testPosition[0]) 上發生變化,它會給出未定義。 我的 console.log(testPosition[i]) 什么也不打印。
謝謝)

如果你想訪問你需要使用的 DOM

 ngAfterViewInit(){
   this.DOMready()
 }  

或投影內容

 ngAfterContentInit(){ // or ngAfterContentChecked
   this.DOMready()
 }  

有更好的方法來訪問視圖中的元素。

參見例如angular 2 / typescript : get hold of an element in the template

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM