【发布时间】:2016-09-18 06:07:05
【问题描述】:
我在做什么
我有一个基于简单布尔值使用*ngIf 隐藏/显示的组件。当组件变得可见时,我想将焦点应用到其模板中的子元素。
问题
如果我翻转布尔值,组件会正确显示,但如果我尝试使用this._elRef.nativeElement.querySelector("div#test") 获取对子元素的引用,它只会返回null。如果我等待几秒钟,相同的代码将按预期返回对元素的引用。
推测
我假设在翻转布尔角度后会经历一个完整的渲染周期以显示新可见的组件,并且当我在下一行应用 querySelector() 时这还没有完成。
我想知道的
所以我想知道的是,我怎样才能确定我的ngIf 已经生效并且元素是它们在要选择的 DOM 中的?
是否有 ngIf 的回调之类的东西或者可以我强制视图更新并从中获取回调?
我希望这是有道理的。这是漫长的一天(漫长的一周),我超级累。
谢谢大家
如果有帮助,我正在使用 Angular2 v2.0.0-beta.15
【问题讨论】:
标签: angular