ui路由器找不到常量

ui-router cant find constant

本文关键字:常量 找不到 路由器 ui      更新时间:2024-01-19

我有以下设置:

   var lbApp = angular.module('lbApp',
    [
        'Main',
        'user',
        'Dashboard',
        'ui.router'
    ]
);
lbApp.constant('USER_ROLES', {
    all: '*',
    admin: 'admin',
    editor: 'editor',
    guest: 'guest'
});
lbApp.config(function ($stateProvider, $urlRouterProvider) {
    $stateProvider.state('login', {
        url: '/',
        templateUrl: 'app/login/login.tmp.html',
        controller: 'MainCtrl'
    })
    $stateProvider.state('adminDashboard', {
        url: '/adminDashboard',
        templateUrl: 'app/dashboards/admin/dashboard.tmpl.html',
        controller: 'Dashboard',
        data: {
            authorizedRoles: [USER_ROLES.admin, USER_ROLES.editor]
        }
    })
    ;
    $urlRouterProvider.otherwise('/');
});

然而,当我运行我的网站时,我收到一条错误消息,上面写着:

ReferenceError: USER_ROLES is not defined

有人能告诉我为什么会发生这种事吗?

我认为你应该注入

用户角色

在你的配置中这样:

lbApp.config(function ($stateProvider, $urlRouterProvider,USER_ROLES) {

您忘记注入依赖

lbApp.config(function ($stateProvider, $urlRouterProvider,USER_ROLES)