Angular:如何在模块中使用常量

时间:2017-04-27 16:02:41

标签: angularjs

我是AngularJS的新手,我想了解如何在模块中使用常量。

这里是我使用的代码:

用户-management.module.js

    angular
        .module('app.users-management', [])
        .config(config);

    /** @ngInject */
    function config($stateProvider, $translatePartialLoaderProvider, msApiProvider, msNavigationServiceProvider)
    {
      console.log(USER_ROLES); // doesn't work
      ...
    }

我的运行块

(function ()
{
    'use strict';

    angular
        .module('fuse')
        .run(runBlock);

    /** @ngInject */
    function runBlock($rootScope, $timeout, $state, $cookieStore, USER_ROLES, authService)
    {
        console.log(USER_ROLES); // OK
       ...
    }
 }

,这是我的配置文件

(function ()
{
   'use strict';

   var cfg = {
        base_url : '127.0.0.1/'
   };

   var userRoles = {
        all: '*',
        admin: 'admin',
        editor: 'editor'     
   };

   angular
       .module('fuse')
       .constant('CONFIG_API', cfg)
       .constant('USER_ROLES', userRoles);
})();

如何在用户管理模块中使用USER_ROLES?

非常感谢:)

2 个答案:

答案 0 :(得分:1)

你试图从另一个模块中使用你的常量,简单地说,该模块没有倾向于它来自何处。

您可以通过将fuse模块添加为依赖项来缓解此问题。然后,你的常数将按预期工作。

angular.module('app.users-management', ['fuse'])

答案 1 :(得分:0)

最后,我找到了!非常感谢Makoto和Mickael:)

我在这里改变了:

   angular
       .module('fuse') // ONLY FUSE module...
       .constant('CONFIG_API', configApi)
       .constant('USER_ROLES', userRoles);

  angular
       .module('app.core') // all modules...
       .constant('CONFIG_API', configApi)
       .constant('USER_ROLES', userRoles);

非常感谢你们!