簡體   English   中英

返回時沒有調用ngOnInit

[英]ngOnInit not called when coming back

我注意到當我回到已經實例化的頁面時,沒有調用ngOnInit()方法。 我必須使用任何其他方法嗎? 我需要一個方法,每次訪問特定頁面時都會調用它。

編輯已經在onPageWillEnter()測試onPageWillEnter()但在Ionic 2中沒有被觸發

檢查鏈接中的“ 生命周期事件”部分。

您可以使用ionic 2生命周期鈎子

ionViewWillEnter(){
 //your methods
}

要在每次訪問頁面時調用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();
   }
}

如果更改路徑以便僅更改參數值,則會重用該組件。

您可以使用

constructor(router:Router) {
  router.params.subscribe(val => myInit());
}

在這種情況下調用初始化代碼而不是使用ngOnInit()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM