![](/img/trans.png)
[英]Angular2 invokes ngOnInit (and every other lifecycle hook method) more than once
[英]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.