Я пытаюсь показать или скрыть индикатор загрузки на кнопке, когда запрос занят. Я делаю это с помощью 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, но это не похоже на то, что здесь неправильно, область обновления обновляется просто отлично и сразу после запроса. Это просто значок, который не отвечает достаточно быстро.
Спасибо, что помогли мне понять это!