.config,.run,AppCtrl - 放置路由的位置?

Mar*_*tin 26 angularjs angularjs-scope angularjs-routing

我想找出AngularJS中的.config.run函数之间的区别.我正在使用我.config来设置路线,但我确实有一些$on用于观察路线更改开始和成功事件.

然后我移动了一些代码,.run因为我有一些依赖注入问题.config.

我终于将其中一部分移到了CommonAppController我设置的部分上<body>.

我也有2个.config,似乎运行正常,但肯定这不对吗?

任何人都可以对使用哪种方法有所了解?

Ste*_*ers 76

配置块和运行块在应用程序引导程序的不同点执行,并且可以使用不同的注入本地.以下是您在AngularJS文档中可以找到的内容的摘要.

配置块(注册module.config())在提供程序注册期间执行,并且只能注入提供程序和常量(请参阅module.provider()module.constant()).这通常是配置应用程序范围内容的地方,例如$routeProvider.在创建服务之前需要配置的东西.

module.run()在进样器具有所有提供程序之后执行块(已注册).现在,可以注入所有实例和常量.这通常是您配置服务$rootScope,事件等的地方.

您可以有多个,它们按照它们注册到模块的顺序执行.例如,有些人喜欢在每组控制器之前注册配置块以注册到这些控制器的路由.