我正在寫包括兩個.value的食譜配置模塊相同的模塊中定義的值:angularjs - 如何引用
- 基本URL
- 一些REST API網址的哪去上的基本URL頂部
我目前設置這些爲.value的,但他們可以很容易被.constant
因爲我希望能夠改變基本URL,而不必重寫所有API網址我需要引用我剛剛定義的基本URL - 在同一個模塊:
var configuration = angular.module('configuration', []);
configuration.value('Config',{
baseURL : 'http://dev.mysite.com/', // define Base URL
});
configuration.value('ApiList', {
getMyDataLink1 : this.baseURL + 'rest/folder1/action1/api_key/',
getMyDataLink2 : this.baseURL + 'rest/folder2/action2/api_key/',
getMyDataLink3 : this.baseURL + 'rest/folder3/action3/api_key/',
});
當我測試的變量:正確
Config.baseURL
輸出爲http://dev.mysite.com/
ApiList.getMyDataLink1
只有一半定義爲this.baseURL
部分未定義(即輸出爲undefinedrest/folder1/action1/api_key/
)
我也試着定義ApiList。價值爲:
getMyDataLink1 : Config.baseURL + 'rest/folder1/action1/api_key/',
//or
getMyDataLink1 : baseURL + 'rest/folder1/action1/api_key/',
但無論是那些得到「未捕獲的ReferenceError:未定義XXXX」的錯誤...
是否有可能引用。來自另一個.value的值在同一個模塊中?
編輯: 看到http://jsfiddle.net/goredwards/yy5xuodh/
EDIT2:看http://jsfiddle.net/goredwards/xvj5xcgz/在那裏我已經轉換的第二.value的一個.factory - 然後比較在小提琴的底部只有JS-方法 - 必須有一個比這更簡潔的方式!?
謝謝,但這似乎不工作 - 請參閱我剛剛添加的jsfiddle - 鏈接是爲原始代碼,但是當我添加您的更改它打破了'配置'模塊 – goredwards 2014-12-05 00:02:23