angular.run和angular.config的區別
阿新 • • 發佈:2018-04-17
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的區別