避免IONIC上的缓存页面

时间:2016-01-28 19:22:30

标签: angularjs ionic-framework

在这段代码中,我有两种方法告诉我的应用程序没有缓存所有视图,选项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();
        }
    });
})

1 个答案:

答案 0 :(得分:0)

IMO最好在Ionic / Angular应用程序的配置阶段进行所有配置设置,因此在您的示例中选项A。

根据https://github.com/angular/angular.js/wiki/Understanding-Dependency-Injection

  

配置阶段是您可以根据需要设置任何提供商的地方。   这也是指令,控制器,过滤器等的地方   建立。

     

运行阶段是Angular实际编译DOM并启动的地方   你的应用程序。

但是Ionic docs提到了两种方式:

  

这些配置可以在使用$ ionicConfigProvider期间更改   您的应用的配置阶段。 另外,$ ionicConfig也可以   在运行阶段和应用程序内设置和获取配置值   本身。

副词另外意味着第二个选项是残差。