modül değerlerini/sabitlerini geçersiz kılmanın en iyi yolu Tüm arka uç iletişimini kapsülleyen bir modülde angularJS yazdım. Daha fazla esneklik için, modülde sabit bir değer olarak api önekine sahibim (yapılandırma aşamasında kullanmadığım için değer olabilir). böyleceAngularJS
angular.module('myapp.data').constant('apiPrefix', '/api/data');
gibi bir şey Şimdi iki farklı uygulamalardan bu modülü kullanmak istiyorum. Biri/api1/data ve diğeri/api2/data kullanır ve uygulamanın konfigürasyon aşamasında bunu değiştirmek isterim. Bunu bir sağlayıcıyla nasıl yapacağımı biliyorum, ancak bir değeri elinde tutmak için bir sağlayıcım olması bana göre bir overkill gibi görünüyor. Kullanılan yapılandırma modülleri sabitlerini veya değerleri uygulama yapılandırma aşamasından değiştirebilir miyim? gibi
şey: Onlar üst seviyede olmak zorunda yoksa-tablolar vs.
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;
});
Emin değilim, ancak bunu "run" aşamasında yapmayı deneyebilirsiniz. – Chandermani
Evet, çalışma aşamasındaki bir değeri güncelleyebilir ve yapılandırmada bir sabit enjekte edebilirsiniz ancak sabit olduğundan, değiştirilemez http://stackoverflow.com/questions/13035568/angular-js-value-not -injected-in-config – shaunhusain
Yani söyledikleriniz modülde bir sabit yerine bir değer olmalı ve config yerine uygulamanın çalışma aşamasında değiştirilmelidir? – masimplo