簡體   English   中英

為什么當我從一個頁面導航時我的 HomeScreen 的 ngOninit() 會命中,但當我從 ionic 中的另一頁導航時沒有命中?

[英]Why does my HomeScreen's ngOninit() hit when I navigate from one page but not hit when I navigate from another page in ionic?

在我的 ionic 項目中,我有 3 頁: HomeScreenSearchPageScannerPage

我通過路由器鏈接從我的屏幕導航到SearchPageScannerPage ,如下面的示例所示:

<ion-button routerLink="/manual-qr-search" color= "tertiary" expand="block">Check Out</ion-button>
<ion-button disabled={{this.myService.getTempCardDisabled()}} routerLink="/manual-temperature-scanner" color= "primary" expand="full" class="flex-child"><ion-icon name="keypad-outline"></ion-icon>MANUAL</ion-button>

我使用 android 后退按鈕從我的SearchPage導航回HomeScreen ,如下所示:

this.platform.backButton.subscribeWithPriority(99999, () => {  
  this.router.navigate(['home-screen']);
});

我使用 android 后退按鈕從我的ScannerPage導航回HomeScreen ,如下所示:

this.platform.backButton.subscribeWithPriority(99999, () => { 
  this.router.navigate(['home-screen']);
});

我的問題是當我從SearchPage導航時HomeScreen 的ngOnInit() 命中,但當我從ScannerPage導航時它沒有命中,我想知道原因。

我根本不在任何頁面上調用 ngOnDestroy()。

當我從另一個頁面導航時,我可以檢查一下,這樣當我不想要它時, HomeScreen 的ngOnInit() 內的代碼就不會命中,但我覺得那是糟糕的編程。

如果要檢查頁面導航更改上的事件,可以執行以下操作。

import { ActivatedRoute } from '@angular/router';

public class yourClassName{
  constructor( private route: ActivatedRoute){
    this.route.queryParams.subscribe((params) => {
    // Do things when page changes routes
    })
  }

}

我注意到我在app-routing.module.ts文件夾中為我的 HomeScreen 設置了 2 個路徑,這導致它以這種方式運行。 我添加了另一條路線來調用ionViewWillEnter()並忘記注釋掉之前的路線。

暫無
暫無

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

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