在 AngularJS 路由中使用常量

Using constants in AngularJS routing

本文关键字:常量 AngularJS 路由      更新时间:2023-09-26

我正在尝试在路由中使用常量来处理每个控制器的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

谁能帮我?谢谢!

试试这个:

app.config(['$stateProvider', '$urlRouterProvider', 'USER_ROLES', // <-- you forgot this
    function ($stateProvider, $urlRouterProvider, USER_ROLES) {
      console.log("Value: ", USER_ROLES);
}]);

您正在注入USER_ROLES,但您没有将其添加到数组表示法中的依赖项中。你也错过了结束]