定义了常量但app无法找到变量

时间:2015-02-26 19:00:57

标签: javascript angularjs

我有以下角度设置路由设置:

    angular.module('app')
    .constant('USER_ROLES', {
        all: '*',
        lb: 1,
        superadmin: 2,
        subadmin: 3,
        client: 4,
        external_partner: 5
    })
  .run(
    [          '$rootScope', '$state', '$stateParams',
      function ($rootScope,   $state,   $stateParams) {
          $rootScope.$state = $state;
          $rootScope.$stateParams = $stateParams;        
      }
    ]
  )
  .config(
    [          '$stateProvider', '$urlRouterProvider', 'JQ_CONFIG', 
      function ($stateProvider,   $urlRouterProvider, JQ_CONFIG) {

          $urlRouterProvider
              .otherwise('/access/signin');
          $stateProvider
              .state('app', {
                  abstract: true,
                  url: '/app',
                  templateUrl: 'tpl/app.html'
              })
              .state('app.dashboard-v1', {
                  url: '/dashboard-v1',
                  templateUrl: 'tpl/app_admin_dashboard.html',
                  resolve: {
                    deps: ['$ocLazyLoad',
                      function( $ocLazyLoad ){
                        return $ocLazyLoad.load(['js/controllers/chart.js', 'js/controllers/dashboard/DashboardController.js']);
                    }]
                  },
                  data: {
                      authorizedRoles: [USER_ROLES.superadmin, USER_ROLES.subadmin]
                  }
              })
              .state('access', {
                  url: '/access',
                  template: '<div ui-view class="fade-in-right-big smooth"></div>',
                  data: {
                      authorizedRoles: [USER_ROLES.all]
                  }
              })
              .state('access.signin', {
                  url: '/signin',
                  templateUrl: 'tpl/page_signin.html',
                  resolve: {
                      deps: ['uiLoad',
                          function( uiLoad ){
                              return uiLoad.load( ['js/controllers/user/userController.js'] );
                          }]
                  }
              })
              .state('access.signup', {
                  url: '/signup',
                  templateUrl: 'tpl/page_signup.html',
                  resolve: {
                      deps: ['uiLoad',
                          function( uiLoad ){
                              return uiLoad.load( ['js/controllers/signup.js'] );
                          }]
                  }
              })
              .state('access.forgotpwd', {
                  url: '/forgotpwd',
                  templateUrl: 'tpl/page_forgotpwd.html'
              })
              .state('access.404', {
                  url: '/404',
                  templateUrl: 'tpl/page_404.html'
              })

      }
    ]
  );

我不会打扰你剩下的代码(但如果你需要它,请提供它)

当我运行我的应用程序时,我收到以下错误:

 Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to:
ReferenceError: USER_ROLES is not defined

1 个答案:

答案 0 :(得分:2)

您还没有将常量注入配置功能。<​​/ p>

.config(
    ['$stateProvider', '$urlRouterProvider', 'JQ_CONFIG', 'USER_ROLES', 
      function ($stateProvider,   $urlRouterProvider, JQ_CONFIG, USER_ROLES) {
相关问题