Как получить индекс активной вкладки в Ionic 2?

#tabs #ionic2

#вкладки #ionic2

Вопрос:

Есть ли какой-либо способ получить индекс активной вкладки в Ionic 2? Я искал, в Ionic 1 есть $ ionicTabsDelegate.

Ответ №1:

Передайте объект события вашему методу:

 <ion-tabs (ionChange)="tabSelected($event)">
  

Объект события на самом деле является выбранным Tab :

 tabSelected(tab: Tab) {
  console.log(tab.index);
}
  

Комментарии:

1. Я не вижу индекс в объекте event, но он работает, когда я его использую.

Ответ №2:

Ваш NavController должен ссылаться на вложенную вкладку, которая имеет свойство ‘index’.

console.log((<Tab>this.navCtrl).index);

Я думаю, что это немного халтурно, поэтому я рад видеть другие ответы. Но на данный момент вы могли бы попробовать это 🙂

Ответ №3:

Вы можете добавить идентификатор к tabs элементу, например, <ion-tabs #myTabs> и использовать @ViewChild('myTabs') myTabs: Tabs; для получения ссылки на HTML tabs элемент. В контроллере вы можете вызвать, this.myTabs.getSelected() который имеет index свойство, которое возвращает индекс активной вкладки