2017-01-24 7 views
0

ここでは角のスピナーに問題があります。私はスピンを使用していて、タイムアウト機能を使用せずにデータをデータベースに保存してから読み込みを停止する必要があります。そのローディングコード上角度スピナーの使用法タイムアウトを使用しないで

function assignLectureToSubject(subject) { 
      subject.$update(); 
     } 

あなたはgenricソリューションを実装することができ、更新ボタン

+0

データベースへの呼び出しはどこですか? '$ update()'とは何ですか? – Weedoze

+0

'' ng-class'''を使って、スピナーをアニメーション化するクラスを切り替えることができます。 '' '

' ''のようなものです。 '' '' ''はアニメーションを含むクラスで、 '' updating'''はサーバコールの前後に設定する必要があるスコープ変数です。 – Dario

答えて

0

ための機能である、あなたがinterceptorsを使用することができ、ここでは一例です。 ShowWaitIndicatorHideWaitIndicator機能

app.factory('waitingInterceptor', ['$q', '$rootScope', 
    function ($q, $rootScope) { 
     return { 
      request: function (config) { 
       ShowWaitIndicator(); 
       return config || $q.when(config); 
      }, 
      requestError: function(request){ 
       HideWaitIndicator(); 
       return $q.reject(request); 
      }, 
      response: function (response) { 
       HideWaitIndicator(); 
       return response || $q.when(response); 
      }, 
      responseError: function (response) { 
       HideWaitIndicator(); 
       return $q.reject(response); 
      } 
     }; 
}]); 

app.config(['$httpProvider', function ($httpProvider) { 
    $httpProvider.interceptors.push('waitingInterceptor');  
}]); 
0

フラグを使用するために、あなたの操作を実行します。当初

$scope.isUpdating = false; 

function update(){ 
    $scope.isUpdating = true; 
    $http({ 
    method: 'POST', 
    url: '/someUrl' 
}).then(function successCallback(response) { 
    $scope.isUpdating = false; 
}, function errorCallback(response) { 
    $scope.isUpdating = false; 
    }); 
} 

そしてHTMLで

<your-spinner ng-show='isUpdating'> 

をisUpdatingそれを呼び出すことができます、スピナーが隠されています。更新が呼び出されると、スピナーがページに表示されます。そして、イベントが完了すると、コールバックはフラグをfalseに設定し、それを再び隠す。

関連する問題