将confl存储在conf文件中以用作全局变量

时间:2016-07-22 10:03:35

标签: angularjs web global

我的应用程序有几个控制器,每个控制器都使用一个URL来请求它适用的视图。

我的网址如下所示:htttp:// myurl / requestSpecificHeader。

Url目前是硬编码的,无法做到。我希望将它存储在config.txt或.json或易于重写的内容中,而不是将其存储到我的app.js中并使其成为在一个控制器中使用的全局变量。由于我的应用程序相当小(4个视图),我只有一个文件可以容纳我的所有控制器和服务。

最好的方法是什么?

2 个答案:

答案 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;
}