ฉันกำลังพยายามแสดงหรือซ่อนตัวบ่งชี้การโหลดบนปุ่มเมื่อคำขอไม่ว่าง ฉันทำเช่นนั้นด้วยเชิงมุมโดยการเปลี่ยนตัวแปร $ 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 วินาทีในขณะที่ตัวแปร $ ขอบเขตจะได้รับการอัปเดตทันที ฉันลองใช้ $ ขอบเขต $ ใช้ แต่ดูเหมือนว่าจะไม่มีอะไรผิดปกติที่นี่ขอบเขตได้รับการอัปเดตอย่างดีและทันทีหลังจากการร้องขอ เป็นเพียงไอคอนที่ไม่ตอบสนองเร็วพอ
ขอบคุณที่ช่วยให้ฉันเข้าใจเรื่องนี้!