所有孩子初始化后的Angular 2生命周期钩子?

前端之家收集整理的这篇文章主要介绍了所有孩子初始化后的Angular 2生命周期钩子?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一个实现以下案例的概念:

我有一个父搜索组件,它有一些组件作为视图子/内容子项,用于显示构面和搜索结果。我现在想要在应用程序加载完成后触发搜索,这样用户就不会看到空白页面

我现在的问题是我找不到符合我需求的生命周期钩子。构面/搜索结果在各自的ngOnInit中订阅搜索结果。所以我需要一个在所有子组件完成初始化后调用的钩子。

我在父组件上尝试了以下挂钩

> ngAfterContentInit:在对子项调用ngOnInit之前调用函数
> ngAfterViewInit:这个可以工作,但是在搜索结果返回后,子项的视图会更新,这会导致错误,因为在ngAfterViewInit中不允许操作视图的操作

任何想法如何解决这个问题?对我来说,似乎我没有掌握一些基本的东西。

干杯

汤姆

我最终以下列方式使用ngAfterViewInit()钩子:
ngAfterViewInit(){
  //stuff that doesn't do view changes
  setTimeout(_=> this.methodThatKicksOffAnotherRoundOfChanges());
}

与设置实际时间的setTimeout的其他调用相比,这应该是安全的,因为它应该立即启动(并且只影响线程/上下文行为)

猜你在找的Angularjs相关文章