我正在研究角质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)上发生变化,则会给出未定义的结果。我的console.log(testPositioni)没有打印任何东西。
( Thx)
发布于 2016-05-01 16:00:04
如果您想要访问您需要使用的DOM
ngAfterViewInit(){
this.DOMready()
} 或预计内容
ngAfterContentInit(){ // or ngAfterContentChecked
this.DOMready()
} 有更好的方法来访问视图中的元素。
参见例如angular 2 / typescript : get hold of an element in the template
https://stackoverflow.com/questions/36968708
复制相似问题