【发布时间】:2019-08-22 08:27:46
【问题描述】:
我想知道您是否可以帮助我解决以下问题。我试图追踪用户在任何时候点击了哪个标签/页面。我正在使用(加载的)事件来追踪我登陆的页面。我的代码在 iOS 上就像一个魅力,但在 Android 上,所有事件调用都非常奇怪,它们要么同时运行,要么根本不运行。这种行为有什么想法吗?谢谢。
对于 Tab1 页面:
在我的 tab1.html 文件上
<StackLayout (loaded)="onTab1ViewLoaded()">
...
</StackLayout>
在 tab1.ts 文件上
onTab1ViewLoaded() {
console.log("Tab1 loaded");
}
其余 3 个标签的代码类似。
提醒一下,此代码在 iOS 中运行良好,但在 Android 中单击 tab2 或 tab3 我看到在控制台日志中触发了所有三个事件。有时,根本没有控制台日志事件。任何想法为什么?谢谢。
更新
tab.html 页面
<TabView androidOffscreenTabLimit="0" androidTabsPosition="bottom" (selectedIndexChanged)="onSelectedIndexChanged($event)">
<page-router-outlet *tabItem="{title: 'Tab1'}" name="Tab1">
</page-router-outlet>
<page-router-outlet *tabItem="{title: 'Tab2'}" name="Tab2">
</page-router-outlet>
<page-router-outlet *tabItem="{title: 'Tab3'}" name="Tab3">
</page-router-outlet>
</TabView>
tab.ts 页面
onSelectedIndexChanged(args) {
if (args.newIndex != args.oldIndex) {
console.log(args.newIndex);
}
}
知道在导航 TabView 时如何找出在哪个选项卡上吗?
【问题讨论】:
标签: android ios angular nativescript