我的应用程序有几个控制器,每个控制器都使用一个URL来请求它适用的视图。
我的网址如下所示:htttp:// myurl / requestSpecificHeader。
Url目前是硬编码的,无法做到。我希望将它存储在config.txt或.json或易于重写的内容中,而不是将其存储到我的app.js中并使其成为在一个控制器中使用的全局变量。由于我的应用程序相当小(4个视图),我只有一个文件可以容纳我的所有控制器和服务。
最好的方法是什么?
答案 0 :(得分:1)
将其声明为常量:
angular.module('App').constant('myUrl', 'http://myurl/');
现在您可以将此值注入控制器:
app.controller('Ctrl', function(myUrl){
var thisUrl = myUrl + 'requestSpecificHeader'
});
答案 1 :(得分:0)
使用angular.constant创建服务,并将所有终点作为常量添加到服务中。
App.constant('REGION_CONFIG_APIS', {
getCountries: '/api/Country/GetCounties',
addCountry: '/api/Country/AddCountry'
});
然后在您的服务中,注入端点并使用它。
App.service('regionConfigService', function ( REGION_CONFIG_APIS,$q,DataService) {
this.getCountryData = function () {
var deferred = $q.defer();
DataService.GetData(REGION_CONFIG_APIS.getCountries)
.then(function (data) {
deferred.resolve(data);
});
return deferred.promise;
}