Angular 如何从活动选项卡页面检测选项卡更改

Angular 如何从活动选项卡页面检测选项卡更改,angular,ionic-framework,ionic4,Angular,Ionic Framework,Ionic4,在中搜索以查找如何检测选项卡更改时,我发现存在直接链接到ion tabs组件的ionTabsDidChange事件 我的目的稍有不同,我需要从与选项卡本身相关的页面/组件中听取选项卡的更改,并使用它的一些数据 例如,如果我有一个名为TabXPage的组件,我想知道是否有一种方法可以创建一个有助于侦听选项卡更改的方法,如下所示: @组件({ 选择器:“应用程序选项卡”, templateUrl:'./tabx.page.html', 样式URL:['./tabx.page.scss'], }) 导

在中搜索以查找如何检测选项卡更改时,我发现存在直接链接到
ion tabs
组件的
ionTabsDidChange
事件

我的目的稍有不同,我需要从与选项卡本身相关的页面/组件中听取选项卡的更改,并使用它的一些数据

例如,如果我有一个名为
TabXPage
的组件,我想知道是否有一种方法可以创建一个有助于侦听选项卡更改的方法,如下所示:

@组件({
选择器:“应用程序选项卡”,
templateUrl:'./tabx.page.html',
样式URL:['./tabx.page.scss'],
})
导出类TabXPage实现OnInit{
//...
onTabChange(){
//使用TabXPage中存在的某些数据执行选项卡更改操作
}
}
我查看了,但没有找到任何适用的事件,因为在浏览Ionic选项卡时,页面保持在相同的状态

我找到了一个解决方案,我不确定它是否是关于这个主题的最佳解决方案,但它对我的案例有效

我只使用了
ionViewDidLeave
page事件:

@组件({
选择器:“应用程序选项卡”,
templateUrl:'./tabx.page.html',
样式URL:['./tabx.page.scss'],
})
导出类TabXPage实现OnInit{
//...
ionViewDidLeave(){
console.log(“TabX已退出”)
}
}

在ionic 3中,我使用ionSelect()和ionChange()方法实现



您是否尝试了
ionTabsWillChange
?这似乎适合您的情况。
IONTABSIDCHANGE
ionTabsWillChange
都适用于
ion选项卡
。我正在寻找一种方法来听标签页本身的变化
<ion-tabs>
  <ion-tab [root]="tab1Root" (ionSelect)="myMethod()"></ion-tab>
  <ion-tab [root]="tab2Root" (ionChange)="myMethod()"></ion-tab>
  <ion-tab [root]="tab3Root"></ion-tab>
</ion-tabs>