首页 > 解决方案 > Ionic 5 在 ion-tabs 上的选项卡之间传递数据

问题描述

我有一个使用离子标签显示两个标签的页面。导航到此页面是通过 Navigate 调用发生的,该调用包含 NavigationExtras 以及我在页面上需要的数据。

let navigationExtras: NavigationExtras = {
  state: {
    item: goal
  }
};
this.navCtrl.navigateForward('/goalview',navigationExtras);

我的页面包括根据单击的选项卡加载相关模块的路由并且有效。问题是我不知道如何将 NavigationExtras 数据(即 state.item)传递给在选项卡单击时调用的组件?

ion-tabs 只允许您指定驱动路由的选项卡属性。但是如何包含任何相关的 queryParams 或 NavigationExtras 以便我可以获得需要传递给选项卡的数据?底线是如何在选项卡之间传递数据?

更清楚一点......一个用例是我的页面正在为通过 NavigationExtras 传入的特定对象显示通知选项卡和设置选项卡。如果我单击通知,我想为同一个对象加载通知信息。设置也是如此。但是我看不到如何指定不仅仅是带有选项卡的路由而不是数据本身?这不可能吗?

最后一点......这一切都发生了,因为我正在从 ionic3 迁移到 ionic5。在 ionic3 中,使用 [rootParams] 很简单,如下所示:

<ion-tab tabIcon="information-circle" [rootParams]="navParams" [root]="goalEdit" tabTitle="{{ 'TITLEINFO' | translate}}"></ion-tab>
<ion-tab tabIcon="notifications" [rootParams]="navParams" [root]="goalSettings" tabTitle="{{ 'TITLEREMINDER' | translate}}"></ion-tab>

谢谢

标签: angular-ui-routerangular8ionic5

解决方案


推荐阅读