요청이 바쁠 때 버튼에 로딩 표시기를 표시하거나 숨기려고합니다. 요청이로드되거나로드가 완료 될 때 $ 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를 시도했지만 여기에서 잘못된 것 같지는 않지만 범위는 요청 직후에 잘 업데이트됩니다. 빠르게 반응하지 않는 아이콘 일뿐입니다.
이해하도록 도와 주셔서 감사합니다!