1 config方法
通过config方法实现在模块初始化时对其进行配置,AngularJS中的服务
大部分
都对应相应的一个provider,用来执行与对应服务相同的功能或对其进行配置。
比如 l o g 、 log、 log、http、$location都是内置服务,相对应的"provider"分别是$logProvider、$httpProvider、$locationProvider。
自定义的服务相对应的"provider"是自定义服务名+Provider
。
config可以注入$stateProvider,$urlRouterProvider, $controllerProvider, $provide, $httpProvider等等provider。
angular.module('moduleName',[]).config([function(){}]);
2 run方法
是应用中最先执行的方法,类似于main方法,run方法只会在angular启动的时候运行一次,定义全局的数据或逻辑,对全局作用域起作用,$rootScope上内容在多个控制器之间可以共享。例如,注册一个全局的事件监听器。每次路由发生变化时候,都执行一个函数来验证用户的权限。
angular.module('moduleName',[]).run([function(){}]);
3 config与run的区别
- 执行顺序不同
config先执行,run后执行。另外,ng启动阶段是 config–>run–>compile/link
- 注入服务类型不同
config里允许注入的是provider和constance(常量),run里允许注入的是provider和constant,还可以是factory,service,value
服务/阶段 | provider | factory | service | value | constant |
---|---|---|---|---|---|
config阶段 | Yes | No | No | No | Yes |
run | 阶段 | Yes | Yes | Yes | Yes |