[英]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 頁: HomeScreen 、 SearchPage和ScannerPage 。
我通過路由器鏈接從我的主屏幕導航到SearchPage和ScannerPage ,如下面的示例所示:
<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.