繁体   English   中英

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

[英]How to trigger an event when re-entering a page that has already been initialized in Angular Ionic?

我了解到Angular生命周期挂钩对于确定何时生成/销毁组件(例如ngOnInit ,但是一旦生成了该组件,并且用户离开了页面,然后又回来,则进入该代码时我需要运行的代码由于现有组件已经初始化,因此无法运行页面。

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

/tabs/(home:artist/:id)

我想从那个艺术家那里发布专辑,我将转到:

/tabs/(home:release/:id)

第一次访问此页面时,将运行ngOnInit ,因此我可以使用一个函数,一旦触发ngOnInit ,该函数便会删除加载屏幕。

但是说我回到艺术家页面

/tabs/(home:artist/:id)

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

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

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

我想念什么?

编辑:

我正在使用Ionic 4! ionWillEnter()这样的生命周期挂钩已被弃用

离子有其自身的生命周期

您的情况似乎可以通过使用ionViewWillEnter解决

例如

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM