在组件视图上刷新上一页时,不会再次调用该组件的ngOnit()

时间:2019-04-01 23:39:49

标签: angular

我有两个组件:组件1和组件2

可以通过按钮1通过组件1访问组件2:

<ion-button [routerLink]="['/urlofComponent1'] [color]="'white'">Request </ion-button>

我已经在组件2中设置了一个函数,以通过以下方式将用户重定向到页面刷新时的“组件1”:

this.router.navigate(['/urlofComponent1']);

已经打开组件2并刷新页面时,用户将重定向到组件1。

现在我通过按钮访问组件2时,不会调用组件2的ngOnit()。

有什么建议吗?

3 个答案:

答案 0 :(得分:0)

没有适合您需求的生命周期挂钩。您应该编写自己的钩子。像离子团队打造的ionViewDidEnter一样:

  

在页面完全进入并且现在是活动页面时运行。无论是第一次加载还是缓存的页面,都会触发此事件。

以下是一些示例代码:Event when component becomes visible

好运

答案 1 :(得分:0)

如果您正在使用

Script processing completed.

[Finished in 1.5s]

在构造函数中,它可以忽略ngOnInit,因为您在初始化另一个组件之前将其重定向到另一个组件。 您可以在ngOnInit的末尾使用它

this.router.navigate(['/urlofComponent1']);

答案 2 :(得分:0)

这是真的,因为[ngOnInit]定义了Doc Angular:在Angular首先显示数据绑定属性并设置指令/组件的输入属性后,初始化指令/组件,并且在第一个ngOnChanges之后调用一次 ()。 您可以在此处阅读https://angular.io/guide/lifecycle-hooks,然后您将了解到深深的生命钩。 如果您不明白,请尝试上面的方法,让我知道我将对其进行编辑。