我注意到当我回到已经实例的页面时,ngOnInit()
方法未被调用。我必须使用任何其他方法吗?我需要一种方法,当他访问特定页面时,他每次都被称为。
编辑已测试已经onPageWillEnter()
,但没有在离子2
检查链接中的生命周期事件部分。
您可以使用离子2生命周期钩
ionViewWillEnter(){
//your methods
}
如果更改路由,则只有一个参数值更改,则将重新使用该组件。
您可以使用
constructor(router:Router) {
router.params.subscribe(val => myInit());
}
在这种情况下调用您的初始化代码,而不是使用ngOnInit()
。
每次访问页面时都会回忆起ngoninit,您应该使用ngondestroy。例如,如果您的组件内容取决于URL中的代码,则应以这种方式使用OnDestroy:
export class GRMTasksComponent implements OnInit, OnDestroy {
subParams: Subscription;
ngOnInit() {
this.subParams = this._route.params.subscribe(params => {
//some code...
});
}
ngOnDestroy() {
this.subParams.unsubscribe();
}
}
角组件具有生命周期方法,一旦加载了组件,它将调用ngoninit()方法,然后为了正确关闭它,我们需要发出关闭事件。 示例:关闭是一种自定义方法,我们称之为onclose事件。 ,但请确保您的组件类实现。close(): void
{
// do some custom logic here...
this.onClose.emit();
}