常數我已經寫在angularJS模塊封裝所有後端通信。爲了獲得更大的靈活性,我將api前綴作爲模塊上的一個常量值(可以是值,因爲我沒有在配置階段使用它)。 所以像最好的方法/在angularJS
angular.module('myapp.data').constant('apiPrefix', '/api/data');
現在我想使用這個模塊從兩個不同的應用程序。一個使用/ api1 /數據和另一個/ api2 /數據,我想在應用程序的配置階段更改它。 我知道該怎麼做,與供應商,但有一個供應商持有價值似乎像矯枉過正我。我可以從應用程序配置階段修改使用的模塊常量或值嗎?
類似:
angular.module("data", [])
.value('apiPrefix', '/api/data')
.factory('display', function(apiPrefix){
return {
pref: function(){
console.log(apiPrefix);
return apiPrefix;
}
}
});
angular.module("myApp",['data'])
.config(['apiPrefix', function(prefix){
prefix = 'https:/api/data';
}])
.controller("Example", function($scope, display) {
$scope.prefix = display.pref;
});
不知道,但你可以嘗試在'run'階段去做。 – Chandermani
是的,你可以在運行階段更新一個值,並且你可以在配置中注入一個常量,但由於它是一個常量,所以不能更改http://stackoverflow.com/questions/13035568/angular-js-value-not -injected-in-config – shaunhusain
那麼你所說的是它應該是一個值而不是常量,並在應用程序的運行階段修改它而不是配置? – masimplo