javascript - ui-router 找不到常量

标签 javascript angularjs

我有以下设置:

   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

谁能告诉我为什么会这样?

最佳答案

我认为你应该注入(inject)

USER_ROLES

在你的配置中像这样:

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

关于javascript - ui-router 找不到常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28611025/

相关文章:

javascript - 在 Google map 的 JS API 中,根据事件, fromPointToLatLng 似乎不准确

javascript - 单页应用程序查看位置

javascript - angular 的 Controller 方法如何使 $scope 可用于我的函数参数

javascript - AngularJS 工厂中的 Jasmine 测试失败

javascript - 如何为 Ng Repeat 指令访问的 View 中的每个项目创建“查看更多”切换

asp.net - 如何从我的 aspx.cs 文件中调用 javascript 方法

javascript - 使用 Vue.js 更改 DOM 元素的值

javascript - 无法访问其中一个 ng 模型的 Angular

javascript - DRY up View 中的逻辑以及 $routing

javascript - 如何使用 javascript promises 执行相同的函数?