我知道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()
之类的生命周期钩子
答案 0 :(得分:1)
离子有自己的lifecycles
您的案件似乎可以通过使用ionViewWillEnter
例如
ionViewWillEnter(){
//call ngOnInit or move methods in here
}