加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 08:03:52 所属栏目:安全 来源:网络整理
导读:我正在寻找一个实现以下案例的概念: 我有一个父搜索组件,它有一些组件作为视图子/内容子项,用于显示构面和搜索结果。我现在想要在应用程序加载完成后触发搜索,这样用户就不会看到空白页面。 我现在的问题是我找不到符合我需求的生命周期钩子。构面/搜索
我正在寻找一个实现以下案例的概念:

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

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

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

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

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

干杯

汤姆

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读