В этом коде у меня есть два способа сказать моему приложению не кэшировать все представления, упомянутые опции A и B, которые вы рекомендуете и почему?
Вариант A:
.config(function ($ionicConfigProvider, $urlRouterProvider, $httpProvider) {
$ionicConfigProvider.backButton.icon('ion-chevron-left');
$ionicConfigProvider.backButton.previousTitleText(false).text(' ');
$httpProvider.interceptors.push('httpInterceptor');
$httpProvider.interceptors.push('authInterceptor');
$ionicConfigProvider.views.maxCache(0);
})
Вариант B:
.run(function ($ionicPlatform, $ionicConfig) {
$ionicPlatform.ready(function () {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
$ionicConfig.views.maxCache(0);
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if (window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
});
})
IMO предпочтительно выполнять все настройки конфигурации в фазе конфигурации приложения Ionic/Angular, поэтому в вашем примере вариант A.
Согласно https://github.com/angular/angular.js/wiki/Understanding-Dependency-Injection:
Фаза конфигурации - это то, где вы можете настроить всех поставщиков по мере необходимости. Здесь также устанавливаются директивы, контроллеры, фильтры и т.д.
Фаза запуска - это то, где Angular фактически компилирует вашу DOM и запускает ваше приложение.
Однако в документах Ionic упоминаются оба способа:
Эти конфигурации можно изменить с помощью $ ionicConfigProvider на этапе конфигурации вашего приложения. Кроме того, $ ionicConfig также может устанавливать и получать значения конфигурации во время фазы выполнения и внутри самого приложения.
Наречие дополнительно предполагает, что второй вариант остаточный.