Рассмотрим родительский TabsPage с декоратором IonicPage () следующим образом:
@IonicPage({
segment: 'case/:caseId/summary/:summaryId'
})
Передайте navParams
TabsPage как rootParams
на все дочерние страницы вкладок.
Перейдите на дочернюю вкладку и зарегистрируйте экземпляр navParams в конструкторе. Также зарегистрируйте экземпляр navParams в родительском конструкторе TabsPage.
export class TabsPage {
constructor(private _navParams: NavParams){
console.log(this._navParams);
}
}
export class AboutPage {
constructor(private _navParams: NavParams){
console.log(this._navParams);
}
}
В обычном потоке, когда вы переходите с другой страницы на одну из дочерних страниц навигации по вкладкам, передавая {caseId: 123, summaryId: 234}
как navParams, вы увидите, что одни и те же navParams регистрируются как в родительском, так и в дочернем конструкторе.
export class LandingPage{
goToTabsPage() {
this.navCtrl.push("TabsPage", {caseId: 123, summaryId: 2345});
}
}
Однако, если вы находитесь на дочерней вкладке и нажали перезагрузить браузер, вы увидите navParams {caseId: 123, summaryId: 234}
в родительском конструкторе TabsPage, но не на дочерней вкладке.
export class TabsPage {
constructor(private _navParams: NavParams){
console.log(this._navParams);
}
}
// Это печатает {caseId: 123, summaryId: 234}
export class AboutPage {
constructor(private _navParams: NavParams){
console.log(this._navParams);
}
}
// Это печатает {}
Это ионная ошибка или я что-то упустил?