我正在尝试做这样的事情:
angular.module('MyModule', ['ui'])
.config(function($rootScope) {
$rootScope.Gender = {
'M': 'Male',
'F': 'Female',
'U': 'Unknown',
};
})
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
未捕获错误:未知提供者:来自MyModule的$ rootScope
如果我无法访问$rootScope我的模块配置,那么初始化模块范围变量的适当位置在哪里?
Jos*_*ler 25
$rootScope您也可以使用角度常量或值来代替使用:
angular.module('MyModule', ['ui']).constant( 'Gender', {
'M': 'Male',
'F': 'Female',
'U': 'Unknown',
});
Run Code Online (Sandbox Code Playgroud)
永远不能改变,而值可以改变.您可以在任何需要的地方注入它:
app.controller( 'MainController', function ( $scope, Gender ) {
console.log( Gender.M );
});
Run Code Online (Sandbox Code Playgroud)
在我看来.对于全站点变量而言,这似乎比使用更"合适" $rootScope.
你不能将服务(这里是$ rootScope)注入配置块.在配置阶段只能注入常量和提供程序.
在您的情况下,正确的解决方案是使用运行块.只需更改配置即可运行,事情应该按预期工作.
| 归档时间: |
|
| 查看次数: |
13247 次 |
| 最近记录: |