angular - ionic2 tabs getSelected 方法给出之前的选择

标签 angular typescript ionic2 ionic3

以下是我正在处理的代码

onTabsChange(abc) {
   let selected_tab = this.tabs.getSelected();
   let tab_index = selected_tab.index;
   console.log(tab_index);  // should print current tab index but it prints previously selected tab index
}

Html代码如下

 <ion-tabs #myTabs class="menu" (ionChange)="onTabsChange()" selectedIndex="0">
   <ion-tab [root]="blank" tabTitle="Blank"></ion-tab>
   <ion-tab [root]="blank" tabTitle="Blank"></ion-tab>
   <ion-tab [root]="blank" tabTitle="Blank"></ion-tab>
   <ion-tab [root]="blank" tabTitle="Blank"></ion-tab>
   <ion-tab [root]="blank" tabTitle="Blank"></ion-tab>
   <ion-tab [root]="blank" tabTitle="Blank"></ion-tab>
   <ion-tab [root]="blank" tabTitle="Blank"></ion-tab>
 </ion-tabs>

现在,如果我单击任何选项卡,this.tabs.getSelected() 会给我之前选择的选项卡。

如果我想要当前选择的标签,我该如何实现..

最佳答案

Now if i click on any tab, the this.tabs.getSelected() gives me the previously selected tab..

getSelected() 方法返回选定的选项卡,不是先前选定的选项卡。问题是该索引是一个从零开始的索引,因此第一个选项卡的索引为 0,第二个选项卡的索引为 1,依此类推...

<ion-tabs #myTabs (ionChange)="onTabsChange()" selectedIndex="0">
  <ion-tab [root]="tab1Root" tabTitle="TabTitle1"></ion-tab>
  <ion-tab [root]="tab2Root" tabTitle="tabTitle2"></ion-tab>
</ion-tabs>

然后在你的代码中:

@Component({
  templateUrl: 'tabs.html'
})
export class TabsPage {
  @ViewChild('myTabs') tabRef: Tabs;

  tab1Root: any = Page1;
  tab2Root: any = Page2;

  public onTabsChange() {
    let selectedTab = this.tabRef.getSelected();
    console.log(selectedTab.index + ' - ' + selectedTab.tabTitle);
  }
}

关于angular - ionic2 tabs getSelected 方法给出之前的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39889383/

相关文章:

angular - 组件声明、模板变量声明和元素引用不包含此类成员

javascript - 如何使用BURSTS获取BURST账户余额?

angular - Angular `ngOnInit` 中的异步/等待

android - IONIC2 背景图像在键盘打开时调整大小

php - Angular 2 发布对 php 文件的请求

javascript - Angular 5 - HttpClient XML Post - 解析期间 Http 失败

angular - ionic 2 条码扫描器

javascript - 在 ionic3 中使用带有延迟加载的全局导航提供程序是一种不好的做法吗?

html - 不使用 css 的 Ionic 2 复选框背景颜色。从注入(inject)/模拟数据中读取颜色

ionic-framework - 在 Ionic 2 中添加自定义图标