Как перенаправить на другую вкладку в том же состоянии?

У меня есть две вкладки.. Я показываю одну вкладку по умолчанию. При нажатии кнопки на одной вкладке я хочу перенаправить на другую вкладку. Но как мне перенаправить?

По нажатию кнопки, как мне перейти от 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>

http://codepen.io/anon/pen/JXPyLE

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>
Другие вопросы по тегам