1. 程式人生 > >angular.run和angular.config的區別

angular.run和angular.config的區別

otp for 例如 module pda link roots AC PE

ng的運行機制:

  config階段是給了ng上下文一個針對constant與provider修改其內部屬性的一個階段
  而run階段是在config之後的在運行獨立的代碼塊,通常寫法runBlock
  簡單的說一下就是ng啟動階段是 config-->run-->compile/link

AngularJS中的run方法初始化全局數據,只對全局作用域起作用,如$rootScope.多個控制器之間可以共享數據

angular.module(‘ePolicy‘, [‘ionic‘, ‘ePolicy.controllers‘, ‘ePolicy.services‘, ‘ePolicy.directives‘, ‘ePolicy.filters‘, ‘ionic-datepicker‘,‘ionic-datepickerg‘, ‘jm.i18next‘])
.run(
function($ionicPlatform, $rootScope, $state, $ionicHistory,HttpRequest, $i18next, DeviceInfo, Authorization, LocalStorage, Prompt, HotPush,$location, NoticeCenter, UserAgent, $ionicActionSheet,JPush) { $ionicPlatform.ready(function() { // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs) // splash 放在最前面熱更新才會起作用 if(DeviceInfo.appVersion() !== $rootScope.general.version) { if(!UserAgent.is_weixin()){ $state.go(‘tab.splash‘); }; //首次啟動必須延遲檢查更新 HotPush.checkUpdate(true); DeviceInfo.setVersion($rootScope.general.version); }
else{ HotPush.checkUpdate(false); } //....... }

區別:

1.執行順序不同:
  config先執行,run後執行。
2.註入的服務也有區別:
  config可以註入$stateProvider, $urlRouterProvider, $controllerProvider, $provide, $httpProvider等等provider
  run可以像controlle一樣註入service,例如配置公共變量等

angular.run和angular.config的區別