重新进入已在Angular Ionic中初始化的页面时,如何触发事件?

时间:2018-12-07 23:12:38

标签: angular ionic-framework

我知道Angular生命周期挂钩对于确定何时生成/销毁某个组件(例如ngOnInit)很有用,但是一旦生成了组件,并且用户离开了页面然后又回来,当进入页面未运行时,我需要运行,因为现有组件已被初始化。

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

/tabs/(home:artist/:id)

我想去看那个歌手的专辑,我会去:

/tabs/(home:release/:id)

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

但是说我回到艺术家页面

/tabs/(home:artist/:id)

然后发行页面仍然存在并且未被破坏,因此,如果我单击返回该发行页面,则ngOnInit永远不会运行。

我正在使用以下导航: private router: Router中的@angular/router来自我的构造函数 并使用此方法切换页面:

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

我想念什么?

编辑:

我正在使用Ionic 4!弃用了ionWillEnter()之类的生命周期钩子

1 个答案:

答案 0 :(得分:1)

离子有自己的lifecycles

您的案件似乎可以通过使用ionViewWillEnter

来解决

例如

ionViewWillEnter(){
 //call ngOnInit or move methods in here
}