Próbuję pokazać lub ukryć wskaźnik ładowania na przycisku, gdy żądanie jest zajęte. Robię to z angular, zmieniając zmienną $ scope.loading podczas ładowania żądania lub po zakończeniu ładowania.
$scope.login = function(){
$scope.loading = true;
apiFactory.getToken()
.success(function(data){
})
.error(function(error){
})
.finally(function(){
$timeout(function() {
$scope.loading = false;
}, 0);
});
};
Na froncie:
<button ng-disabled="loading" class="button button-outline button-positive" type="submit">
Log in
<span ng-if="loading" class="ion-refreshing"></span>
</button>
Działa to dobrze, ale ikona ładowania (odświeżanie jonów) jest wyświetlana przez około 2 sekundy, podczas gdy zmienna $ scope jest aktualizowana natychmiast. Próbowałem użyć $ scope. $ Apply, ale to nie wygląda na to, co jest nie tak, zakres jest aktualizowany dobrze i natychmiast po żądaniu. To tylko ikona, która nie reaguje wystarczająco szybko.
Dzięki za pomoc w zrozumieniu tego!