Ионная вкладка застряла с первым показанным видом

#angularjs #cordova #ionic-framework #tabs #ionic-tabs

#angularjs #кордова #ионный фреймворк #вкладки #ионные вкладки

Вопрос:

Я обнаружил нежелательное поведение с ионными вкладками.

В принципе, у меня есть несколько вкладок, на первой вкладке у меня есть 3 представления, одно из которых ведет к другому, причем tab1Initial предоставляет доступ к представлению tab1internal1, а это дает доступ к представлению tab1internal2 на той же вкладке, никаких проблем нет.

Но у меня есть другая вкладка (назовем ее второй вкладкой), которая ведет к tab1internal2 на первой вкладке, которая работает как ожидалось, за исключением одной детали:

Если я не посетил первую вкладку и получил доступ к представлению tab1internal2 со второй вкладки на первую вкладку, это представление tab1internal2 остается представлением по умолчанию для первой вкладки, которое должно отображать tab1Initial view при касании, но вместо этого показывает tab1internal2, как если бы первое представление, отображаемое вкладкой, было темэта вкладка сохраняется, и это именно моя проблема.

У меня есть codepen, показывающий такое поведение, https://codepen.io/Orion390/pen/yajLKa , вкладка InternalPages — это первая вкладка, о которой я говорю, вкладка About открывает доступ к представлению internal2 на вкладке InternalPages с помощью этой кнопки, легко воспроизвести поведение, которое я объяснил.

Кстати, меня не беспокоит навигация, моя проблема только в том, что вкладка не показывает нужный мне вид, когда я касаюсь ее.

Не должно ли это

 <ion-tab title="InternalPages" icon="ion-home" href="#/tab/home">
    <ion-nav-view name="home-tab"></ion-nav-view>
  </ion-tab>
  

Назначьте это представление по умолчанию, независимо от того, как вы перемещаетесь?

Ответ №1:

У меня есть простой обходной путь, заключающийся в том, чтобы поместить ng-click=»onTabSelected()» на вкладку и в контроллер, назначенный вкладкам:

 $scope.onTabSelected = function () {
    $state.go("tab.home");
}
  

Таким образом, всегда при нажатии на вкладку это приведет к желаемому состоянию, а не к первому показанному или чему-то еще, я надеюсь, что это кому-то полезно, поведение, которое вызвало проблему, действительно похоже на ошибку в ionic.