1

考虑一个带有 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);
  }
}

//这打印{}

这是一个离子错误还是我错过了什么?

4

0 回答 0