angular.run和angular.config的区别
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,例如配置公共变量等

浙公网安备 33010602011771号