所有子视图渲染后,Angular 2触发动作

时间:2017-06-13 11:19:50

标签: angular

是否可以通知父母已呈现所有子视图?

我知道我们有像ngAfterViewChecked()这样的生命周期钩子,但在渲染子视图后会被触发吗?

1 个答案:

答案 0 :(得分:3)

文档说明(约ngAfterViewChecked):

  

在Angular检查组件的视图和子视图后进行响应。   在ngAfterViewInit之后和之后的每个ngAfterContentChecked()之后调用。   仅限组件的挂钩。

所以,是的,子视图会触发此回调。问题是您无法分辨哪个视图已更新。如果您想了解要更新的特定视图,我建议将它们包装在Components中,在每个视图中覆盖ngAfterViewChecked并使用EventEmitter(如Output)通知父{ {1}}。如果您想要监听初始渲染,请覆盖Component

更新#1:

如果您只关心第一个渲染,并且不必区分视图,那么它就足以覆盖ngAfterContentChecked

  

在Angular初始化组件的视图和子视图后做出响应   观点。在第一个ngAfterViewInit之后调用一次。一个   仅限组件钩。