リクエストがビジーのときにボタンの読み込みインジケーターを表示または非表示にしようとしています。リクエストの読み込み中または読み込みが完了したときに$ scope.loading変数を変更することで、Angularを使用してこれを行います。
$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>
これは正常に機能しますが、読み込みアイコン(ion-refreshing)が約2秒間表示され、$ scope変数はすぐに更新されます。$ scope。$ applyを試しましたが、ここでは問題はないようです。スコープは正常に更新され、リクエストの直後に更新されます。十分な速さで応答しないのはアイコンだけです。
私がこれを理解するのを手伝ってくれてありがとう!