【发布时间】:2020-09-29 05:08:18
【问题描述】:
Ionic 中是否有一个事件会在我每次选择这个特定选项卡时激活?
示例: 我的主标签是“主页” 如果我切换到不同的选项卡并返回“主页”,我希望事件触发 所以基本上每次我回到“主页”标签时,我都希望触发事件
到目前为止,我已经尝试查看 angular 生命周期,但没有找到符合我要求的事件。
【问题讨论】:
标签: angular ionic-framework events
Ionic 中是否有一个事件会在我每次选择这个特定选项卡时激活?
示例: 我的主标签是“主页” 如果我切换到不同的选项卡并返回“主页”,我希望事件触发 所以基本上每次我回到“主页”标签时,我都希望触发事件
到目前为止,我已经尝试查看 angular 生命周期,但没有找到符合我要求的事件。
【问题讨论】:
标签: angular ionic-framework events
您可以使用ionTabsWillChange 事件来完成此操作,该事件将在每次激活选项卡时运行。您可以拥有自己的堆栈并检查它是否包含此选项卡。
<ion-tabs (ionTabsWillChange)="onTabsWillChange($event)">
<ion-tab-bar slot="bottom">
<ion-tab-button tab="tab1">
<ion-icon name="flash"></ion-icon>
<ion-label>Tab One</ion-label>
</ion-tab-button>
<ion-tab-button tab="tab2">
<ion-icon name="apps"></ion-icon>
<ion-label>Tab Two</ion-label>
</ion-tab-button>
<ion-tab-button tab="tab3">
<ion-icon name="send"></ion-icon>
<ion-label>Tab Three</ion-label>
</ion-tab-button>
</ion-tab-bar>
</ion-tabs>
在您的 TS 文件中:
onTabsWillChange(event) {
const index = this.tabsStack.indexOf(event.tab);
if( index > -1) {
// Your logic here
// Remove it from the array so it can pushed at the end again
this.tabsStack.splice(index, 1);
}
this.tabsStack.push(event.tab);
}
【讨论】: