Angular 如何在重新进入一个已经初始化的页面时触发事件?

Angular 如何在重新进入一个已经初始化的页面时触发事件?,angular,ionic-framework,Angular,Ionic Framework,我知道Angular lifecycle钩子对于确定组件的生成/销毁时间非常有用,例如ngOnInit,但是一旦组件生成,用户离开页面,然后返回,我在进入页面时需要运行的代码就不会运行,因为现有组件已经初始化 例如,我有一个音乐应用程序,比如说我在一个艺术家页面上: /选项卡/主页:艺术家/:id 我想从这位艺术家那里得到一个版本,我想: /选项卡/主页:发布/:id 当我第一次进入此页面时,ngOnInit会运行,因此我可以使用一个功能,在触发ngOnInit后删除加载屏幕 但是,假设我回到艺

我知道Angular lifecycle钩子对于确定组件的生成/销毁时间非常有用,例如ngOnInit,但是一旦组件生成,用户离开页面,然后返回,我在进入页面时需要运行的代码就不会运行,因为现有组件已经初始化

例如,我有一个音乐应用程序,比如说我在一个艺术家页面上:

/选项卡/主页:艺术家/:id

我想从这位艺术家那里得到一个版本,我想:

/选项卡/主页:发布/:id

当我第一次进入此页面时,ngOnInit会运行,因此我可以使用一个功能,在触发ngOnInit后删除加载屏幕

但是,假设我回到艺术家页面

/选项卡/主页:艺术家/:id

然后发布页面仍然存在并且没有被销毁,因此如果我单击返回到同一发布页面,ngOnInit将永远不会运行

我正在使用以下工具进行导航: 专用路由器:我的构造函数中@angular/router的路由器 以及使用此方法切换页面:

this.router.navigateByUrl'tabs/home:release/${uid}'注意:切换了'for',这样我就不会在stackoverflow中破坏格式

我错过了什么

编辑:

我用的是离子4!像ionWillEnter这样的生命周期挂钩已被弃用

Ionic有自己的

您的案例似乎可以通过使用ionViewWillEnter解决

e、 g


据我所知,这些在爱奥尼亚4中被弃用了,我应该提到这一点!是的,这是有效的,我不知道为什么它以前出错了。谢谢你让我回顾这件事!
ionViewWillEnter(){
 //call ngOnInit or move methods in here
}