使用常量属性在相同的常量angularjs内构建另一个属性

时间:2015-11-24 14:25:00

标签: angularjs properties constants

简而言之,我的问题是这样的:我想使用角度常量功能来保存我在应用程序中需要的值。如果可以使用相同常量的另一个属性的值来构建属性,那我就会徘徊。像这样:

app.constant("url", {
   basicUrl: "/svc",
   managementPanel: basicUrl + "/managemnent.html"
   // and so on...
});

有什么方法可以达到这个目的吗?我尝试使用“this”关键字,但它引用了窗口对象。

2 个答案:

答案 0 :(得分:1)

您需要使用工厂而不是常量速记。

app.factory("url", function() {
  var url = {};
  url.basicUrl = "/svc";
  url.managementPanel = url.basicUrl +  "/managemnent.html";
  return url;
})

答案 1 :(得分:1)

你可以把它全部付诸实践:

(function() {
  var constant = {};

  constant.base = 'base';
  constant.nested = constant.base + '/nested';
  constant.nested2 = constant.nested + '/nested2';

  app.constant('test', constant)
})();