2016-10-06 6 views
2

следующий код, я работаю надionic2 вкладки getSelected Метод дает предыдущий выбор

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() дает мне ранее выбранную вкладку.

, если мне нужна текущая выбранная вкладка, как я могу ее достичь ..

ответ

3

Теперь, если я нажимаю на любой вкладке, то this.tabs.getSelected() дает мне ранее выбранную вкладку ..

Метод 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); 
    } 
} 
+0

его не работает для меня .. это может быть из-за версии, у меня установлена ​​ионная версия 2.0.0 –

+0

Я создам проект с новым RC и проведу его там :) – sebaferreras

+0

Также, когда приложение запускает эту строку, возвращается неопределенный this.tabs.getSelected(); Я думаю, что есть проблема с версией. Я попробую обновить до более высокой версии –

Смежные вопросы