1. ホーム
  2. javascript

[解決済み] ng-clickイベントを条件付きにするには?

2022-02-15 07:21:09

質問

ng-repeatの中にこのコードがあります。

<a href="#" class="disabled" ng-click="doSomething(object)">Do something</a>

があるときにボタンが無効であるという条件を作るには? class="disabled" ?

または、Javascriptでそのように見えるようにする方法はありますか。

$('.do-something-button').click(function(){
  if (!$(this).hasClass('disabled')) {
    do something
  }
});

解決方法は?

ディレクティブ以外の場所でDOMを操作する(属性のチェックを含む)のはよくないです。スコープにリンク不可を示す値を追加すればよいでしょう。

しかし、もう一つの問題は、ngDisabledはフォームコントロール以外では動作しないので、<a>では使えませんが、<button>では使え、リンクとしてスタイルを設定できます。

もう一つの方法は、以下のような式の遅延評価を使用することです。 isDisabled || action() の場合、アクションは呼び出されません。 isDisabled が真であれば

ここで、両方の解答を見てみましょう。 http://plnkr.co/edit/5d5R5KfD4PCE8vS3OSSx?p=preview