所以我通过ngIf切换某个dom元素,并在设置为true之后立即切换,我也是通过Viewchild - ElementRef来定位该元素。 问题是,在切换之后,在dom中更新元素需要一定的时间,如果我调用一个包含该元素的变量,它将返回null,尽管在超时后它会将元素返回为它有足够的时间来更新dom。
以下是更好理解的示例代码:
HTML
@ViewChild('someElement') someElement:ElementRef;
toggle() {
this.showElement = true
console.log(this.someElement) //consoles undefined
}
Component.ts
@ViewChild('someElement') someElement:ElementRef;
toggle() {
this.showElement = true
setTimeout(function() {
console.log(this.someElement) //Consoles the element
}, 300)
}
Component.ts
n
有没有办法可以在没有适当方式超时的情况下完成,例如检查dom更新的事件或什么?