Как ждать, пока угловой провайдер внутри .config загрузится полностью

0

Я устанавливаю значение переменной url внутри.provider в services.js из.config в app.js

Services.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 (внутри запроса json в.config):

baseurlProvider.setUrl(schoolObj.school_domain);

Когда я пытаюсь использовать метод провайдера baseurl get внутри контроллера, я получаю null (начальное значение), потому что json-запрос внутри.config в app.js слишком медленный.

controllers.js:

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

Как ускорить процесс/замедлить работу контроллера?

Теги:
wait
config
angular-providers

1 ответ

1

Вы можете бутстрап угловой после получения базового url с сервера:

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]);
});
  • 0
    Я делаю baseurlProvider.setUrl (baseUrl) внутри запроса json, который находится внутри .config. Могу ли я начать загрузку сразу после установки URL?
  • 0
    @TheWorldyn angular уже загружается при выполнении кода конфигурации, поэтому, как показано выше, вы получите данные до начальной загрузки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню