我有一个显示城市的页面:这个页面使用一个名为"CitiesProvider“的提供者,因为这些城市可以改变,我把你的订阅放在:
this.citiesSubscription = this.CitiesProvider.salesChanged
.subscribe(
(cities: City[]) => this.cities = cities
)哪里是放置“取消订阅”方法的最佳位置:ionViewWillLeave
或ionViewDidLeave
或者ionViewWillUnload,如果我把它放进另一个里面会出什么问题?
使用这些(离子)生命周期链接和使用
来自Anglar的ngOndestroy或来自角的任何钩子(因为离子页也是角分量)
发布于 2018-10-31 13:40:51
您应该使用ionViewWillUnload ngOnDestroy或Observables取消订阅。
每次离开页面时,ionViewDidLeave和ionViewWillLeave钩子都会被解雇,但不要指示一个页面被销毁,/removed就会从dom中销毁。
示例:
如果使用NavController将页面推送到堆栈上,则会触发ionViewDidLeave,但不会触发破坏钩子,因为页面实际上停留在dom中。如果您向后导航,订阅仍然确保所有内容都是最新的。
如果要在离开页面时取消订阅,则需要在ionViewWillEnter生命周期钩子中再次订阅。
https://stackoverflow.com/questions/53081334
复制相似问题