我正在尝试在路由中使用常量来处理每个控制器的ACL。但是在config
中,常量不可用,注入似乎被打破了。但是,我可以从应用程序中的其他任何位置访问该值。
var app = angular.module('myproject', [
'ui.router'
]);
app.constant('USER_ROLES', {
all: '*',
admin: 'admin',
role1: 'role1',
role2: 'role2'
});
app.config(['$stateProvider', '$urlRouterProvider',
function ($stateProvider, $urlRouterProvider, USER_ROLES) {
console.log("Value: ", USER_ROLES);
});
此代码将此输出生成到控制台中:
Value: undefined
任何人都可以帮助我吗?谢谢!
答案 0 :(得分:2)
试试这个:
app.config(['$stateProvider', '$urlRouterProvider', 'USER_ROLES', // <-- you forgot this
function ($stateProvider, $urlRouterProvider, USER_ROLES) {
console.log("Value: ", USER_ROLES);
}]);
您正在注入USER_ROLES
,但您没有将其添加到数组表示法中的依赖项。你也错过了结束]