Я разрабатываю приложение с использованием Ionic, но кеширование работает не так, как ожидалось. Каждый раз, когда я переключаюсь с root.home.notifs
на root.home.chats
, вид обновляется chats
(его контроллер повторно инициализируется).Ионное кэширование не работает
Я 2 вкладки:
<ion-footer-bar>
<ion-tabs class="tab-bottom tabs-striped">
<ion-tab icon="ion-ios-chatboxes-outline" ui-sref="root.home.chats">
</ion-tab>
<ion-tab icon="ion-ios-heart-outline" ui-sref="root.home.notifs">
</ion-tab>
</ion-tabs>
</ion-footer-bar>
И эти состояния (мои контроллеры пусты):
.state('root.home', {
abstract: true,
cache : true,
url: '/home',
templateUrl: 'components/home/templates/home.html'
})
.state('root.home.chats', {
url: '/chats',
cache : true,
controller: 'ChatCtrl',
templateUrl: 'components/home/templates/home.chats.html'
})
.state('root.home.notifs', {
url: '/notifs',
cache : true,
controller: 'NotifCtrl',
templateUrl: 'components/home/templates/home.notifs.html'
})
Каждый вид имеет cache-view="true"
и я настроен кэшированные таким образом $ionicConfigProvider.views.maxCache(100)
ПРИМЕЧАНИЕ: Я заметил, что эта ошибка зависит от того, в каком состоянии я перемещаюсь первым. Существует система auth, которая вызывает $state.$go('root.home.notifs')
. Изменение этих изменений, представление которых кэшировано правильно
Любой вопрос о том, как это решить?
Спасибо, этот ответ спас мою задницу – jlstr