在另一个.constant的定义中重用.constant

时间:2015-02-06 05:39:27

标签: angularjs

我想使用常量(general_config)作为参数在Angular中创建另一个常量(first_config)。

angular.module('app.config', [])

   .constant('general_config', { server_url: "someurl.com" })

   .constant('first_config', { url: general_config.server_url + "/path" })

但这导致“general_config未定义”。

有可能吗?

1 个答案:

答案 0 :(得分:1)

您可以将其存储在变量中,然后将该变量用于这两个常量。我使用IIFE来防止将变量添加到全局范围:

(function() {
  var serverUrl = "someurl.com";
  angular.module('app.config', [])
    .constant('general_config', { server_url: serverUrl })
    .constant('first_config', { url: serverUrl + "/path" });
})();

Plunkr

John Papa在他的style guide中提供了有关IIFE的一些很好的信息。