2016-01-28 81 views
0

在這段代碼中,我有兩種方法告訴我的應用程序不緩存所有視圖,選項A和B表示,你推薦哪一個,爲什麼?避免在IONIC上緩存頁面

選項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

IMO它優選是做所有的配置設置在離子/角應用程序的配置階段,所以在你的例子選項A.

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

配置階段是您可以根據需要設置任何提供程序的位置。 這也是設置指令,控制器,過濾器等設置 的地方。

運行階段是Angular實際編譯您的DOM並從您的應用程序啓動 。

然而Ionic docs提兩種方法有兩種:

這些CONFIGS可以用$ ionicConfigProvider在你的應用程序的 配置階段而改變。 此外,$ ionicConfig也可以 設置並在運行階段和應用程序 本身獲取配置值。

副詞另外意味着第二個選項是殘差。