我正在尝试在请求繁忙时在按钮上显示或隐藏加载指示器。我通过在加载请求或加载完成后更改$ 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,但这似乎不是问题所在,作用域可以在请求后立即更新。只是图标没有足够快地响应。
感谢您帮助我理解这一点!