Я пытаюсь показать или скрыть индикатор загрузки на кнопке, когда запрос занят. Я делаю это с помощью angular, изменяя переменную $ scope.loading, когда запрос загружается или когда он загружается.
$scope.login = function(){
$scope.loading = true;
apiFactory.getToken()
.success(function(data){
})
.error(function(error){
})
.finally(function(){
$timeout(function() {
$scope.loading = false;
}, 0);
});
};
В интерфейсе:
<button ng-disabled="loading" class="button button-outline button-positive" type="submit">
Log in
<span ng-if="loading" class="ion-refreshing"></span>
</button>
Это работает нормально, но значок загрузки (ионное обновление) отображается около 2 секунд, а переменная $ scope обновляется немедленно. Я попробовал $ scope. $ Apply, но, похоже, что здесь не так, область обновляется сразу после запроса. Просто значок не реагирует достаточно быстро.
Спасибо, что помогли мне понять это!