2016-10-26 7 views
0

Webアプリケーションにng-tableがあり、ページあたりの行数が最大1000までです。 私はまた、選択されたフラグを各テーブル行でtrueに設定する関数ng-changeを呼び出すselect-all checboxを持っています。 この関数は実行に数秒かかるので、ユーザーがチェックボックスを2回以上クリックすると、これを防ぐ必要があります。私は機能が実行されている間、チェックボックスを無効にしたいと思います。 これは可能ですか? ありがとうng-clickで角度実行非同期関数

答えて

0

非常に単純な解決策は、コントローラの論理プロパティを更新することです(関数が実行されるとtrueに設定され、終了時にfalseに設定されます)。 "ng-disabled"ディレクティブを使用しますチェックボックス内のそのプロパティに基づいています。

1

おそらく、ng-disableのマーカーを作成することができます。

<input type="checkbox" ng-disabled="inProgress"> 

とコントローラで処理した場合、あなたの関数は、このマーカーを追加します:答えを

$scope.runYourFunction = function() { 
$scope.inProgress = true; 
....... your function ........ 
$scope.inProgress = false; // in the end. it will enabled your checkboxes; 
} 
+0

おかげで、 問題は関数が終了したら、私はchecboxだけ無効に表示されますということであり、このようなチェックボックスを2回クリックすると、関数は2回実行されます –

+0

@DavideCampello runYourFunctionが最初に行うことは、$ scope.inProgress = trueを設定してチェックボックスを無効にします。その後、数秒かかる関数呼び出しを行います。あなたが必要とするものと正確に思える –

関連する問題