ng-disabledが機能しない解決策
1464 ワード
これがAngularだとは知らなかったjsのバグです.しかし、検索してみると、融通のきく解決策が見つかった.
ビジネスニーズは、ボタンが1回クリックされると無効に設定され、複数回無効なクリックを阻止します.しかし、現在では多くのフレームワークが
関連する論理コードは次のとおりです.
しかし、
解決策は
簡単で効果的で、ショートか.短絡または
ようこそ:CNCオープンソースコンポーネント開発交流グループ316630025
テキストリンク:http://baudehlo.com/2014/02/24/angular-js-ng-click-still-fires-when-div-is-ngdisabled/
原文日付:2014年02月24日
2016年01月07日
アンカーhttp://blog.csdn.net/renfufei
ビジネスニーズは、ボタンが1回クリックされると無効に設定され、複数回無効なクリックを阻止します.しかし、現在では多くのフレームワークが
<div>
または他のラベルでbutton効果を実現しています.私はプロのUIではありません.このようにしてもいいかどうか分かりません.どうすればいいですか.<button>
の上では、ng-disabled
はすべて正常です(<button>
はdisabledをサポートしているため).<button ng-click="do_something()"
ng-disabled="button_clicked">Click Me</button>
関連する論理コードは次のとおりです.
angular.module('ngToggle', [])
.controller('AppCtrl',['$scope', function($scope){
$scope.button_clicked = false;
$scope.do_something = function() {
alert("Clicked!");
$scope.button_clicked = true;
return false;
}
}]);
しかし、
button
を<div>
に変更すると、ng-disabled
フラグは機能しなくなります.要素を無効に設定しますが、クリックするとng-click
がトリガーされます.解決策は
ng-click
でパラメータの値を先に判断することです.<div ng-click="button_clicked || do_something()"
ng-disabled="button_clicked">Click Me</div>
簡単で効果的で、ショートか.短絡または
||
の演算規則は、左の式がtrue
の場合、trueを返し、右の式は計算されません.ようこそ:CNCオープンソースコンポーネント開発交流グループ316630025
テキストリンク:http://baudehlo.com/2014/02/24/angular-js-ng-click-still-fires-when-div-is-ngdisabled/
原文日付:2014年02月24日
2016年01月07日
アンカーhttp://blog.csdn.net/renfufei