在这段代码中,我有两种方法告诉我的应用程序没有缓存所有视图,选项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();
}
});
})
答案 0 :(得分:0)
IMO最好在Ionic / Angular应用程序的配置阶段进行所有配置设置,因此在您的示例中选项A。
根据https://github.com/angular/angular.js/wiki/Understanding-Dependency-Injection:
配置阶段是您可以根据需要设置任何提供商的地方。 这也是指令,控制器,过滤器等的地方 建立。
运行阶段是Angular实际编译DOM并启动的地方 你的应用程序。
但是Ionic docs提到了两种方式:
这些配置可以在使用$ ionicConfigProvider期间更改 您的应用的配置阶段。 另外,$ ionicConfig也可以 在运行阶段和应用程序内设置和获取配置值 本身。
副词另外意味着第二个选项是残差。