AngularJS 主模块中的常量

AngularJS constants in main module

Angular 中似乎有几种定义常量的方法。

在这个例子中,我们在主模块中定义了两个常量 config.js:

  'use strict';
  angular.module('app')
    .constant('URL', 'http://localhost:8080/users')
    .constant('RESOURCES', (function () {
                var resource = 'http://localhost:8080';
                return {
                  USERS: resource + '/users'
                }
              }));
  }());

我们有一个使用这些常量的工厂。 在第一种情况下,当我们想要使用 "simple" 常量 (URL) 时,它就像一个魅力:

  var app = angular.module('app.user');
  app.factory('User', ['URL', '$resource', function (URL, $resource) {
    return $resource(URL + '/:id', null, {
                       get: {method: 'GET'}
                     });
  }]);

但是,当我们尝试使用主要的 RESOURCES 常量时,如下所示:

  var app = angular.module('app.user');
  app.factory('User', ['RESOURCES', '$resource', function (RESOURCES, $resource) {
    return $resource(RESOURCES.USERS + '/:id', null, {
                       get: {method: 'GET'}
                     });
  }]);

我们收到 未定义 错误。

有什么想法吗?

你这段代码应该有错误,看block的关闭

app.constant('RESOURCES', (function() {
    var resource = 'http://localhost:8080';
    return {
      USERS: resource + '/users'
    }
  })());