考虑一个带有 IonicPage() 装饰器的父 TabsPage:
@IonicPage({
segment: 'case/:caseId/summary/:summaryId'
})
navParams
将 TabsPage 的传递rootParams
给所有子标签页。
导航到子选项卡并在构造函数中记录 navParams 实例。还要在父 TabsPage 构造函数中记录 navParams 实例。
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});
}
}
但是,如果您在子选项卡中并点击浏览器重新加载,您将{caseId: 123, summaryId: 234}
在父 TabsPage 构造函数中看到 navParams,但在子选项卡中看不到。
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);
}
}
//这打印{}
这是一个离子错误还是我错过了什么?