0

我正在为 app.js 中的 .config 中的 services.js 中的 .provider 内的 url 变量设置一个值

服务.js:

function BaseUrl(url) {
    this.url = url;
}

angular.module('eter.services', [])
    .provider("baseurl", [function () {
        var url = null;

        this.setUrl = function (textString) {
            url = textString;
        };

        this.$get = [function () {
            return new BaseUrl(url);
        }];
    }]);

app.js(在 .config 中的 json 请求中):

baseurlProvider.setUrl(schoolObj.school_domain);

当我尝试在控制器内使用 baseurl 提供程序的 get 方法时,我得到 null (起始值),因为 app.js 中 .config 内的 json 请求太慢了。

控制器.js:

... 
$http.get(baseurl.url +'eter-app-api/'+ apikey +'&startpage=1'). 
...

如何加快进程/减慢控制器速度?

4

1 回答 1

1

从服务器获取基本 URL 后,您可以引导 Angular:

var app = angular.module('app', ['eter.services'])
    .config(['baseUrl', 'baseurlProvider', function (baseUrl, baseurlProvider) {
        baseurlProvider.setUrl(baseUrl);
    }]);

$.getJSON('/getBaseUrl', function (baseUrl) {
    app.value('baseUrl', baseUrl);
    angular.bootstrap(document, [app.name]);
});
于 2016-01-25T10:03:05.483 回答