Как перенаправить на другую вкладку в том же состоянии?
У меня есть две вкладки.. Я показываю одну вкладку по умолчанию. При нажатии кнопки на одной вкладке я хочу перенаправить на другую вкладку. Но как мне перенаправить?
По нажатию кнопки, как мне перейти от tab1 к tab2, учитывая тот факт, что все это происходит внутри одного состояния?
<ion-view>
<ion-header-bar class="musiclist">
<h1 class="title" >Playlist</h1>
</ion-header-bar>
<ion-pane>
<ion-tabs class="tabs-top">
<!-- Tab 1 -->
<ion-tab title="My Albums">
<ion-nav-view >
<ion-content>
<!-- some content -->
</ion-content>
</ion-nav-view>
</ion-tab>
<!-- Tab 2 -->
<ion-tab title="Album Store">
<ion-nav-view >
<ion-content>
<!-- some content -->
</ion-content>
</ion-nav-view>
</ion-tab>
</ion-tabs>
</ion-pane>
</ion-content>
</ion-view>
1 ответ
Решение
Вы можете использовать $ionicTabsDelegate.select, передав службу $ ionicTabsDelegate в контроллер и вызвав функцию select. Поскольку у вас есть более одного набора вкладок, вам нужно указать дескриптор делегата в вашем HTML и ссылаться на этот конкретный дескриптор в контроллере:
.controller('HomeTabCtrl', function($scope, $ionicTabsDelegate) {
console.log('HomeTabCtrl');
$scope.store = false;
$scope.switchTabs = function(index) {
$ionicTabsDelegate.$getByHandle('my-handle').select(index);
}
});
<ion-tabs delegate-handle="my-handle" class="tabs-top">
<!-- Tab 1 -->
<ion-tab title="My Albums" >
<ion-nav-view ng-show="store">
<ion-content>
<!-- some content -->A
<a ng-click="switchTabs(1)">go to store</a>
</ion-content>
</ion-nav-view>
</ion-tab>