web-dev-qa-db-ja.com

チェックボックスの値を角度のngクリックに渡す

angularディレクティブに渡す方法はありますか?関連する入力の値をngクリックしますか?

つまり、次のthis.valueを置き換える必要があるものは次のとおりです。

<input type="checkbox" id="cb1" ng-click="checkAll(this.value)" />

PS。値を変更する回避策は必要ありません。入力の値を引数としてangular関数に渡すことができるかどうかだけです

20
Serge

次のことができます。

  • Htmlコンポーネントをangular scopeにバインドする場合は ng-model を使用します
  • ng-clickng-changeに変更します
  • チェックボックスをオンまたはオフにするときに値をバインドする必要がある場合は、ng-true-value="someValue"およびng-false-value="someValue"を使用します

ng-clickng-modelの実行順序は明確な優先順位を定義していないため、あいまいです。代わりに、ng-changeまたは$watch$scopeを使用して、モデル変数の正しい値を取得する必要があります。

礼儀 musically_ut

ワーキングデモ

<input type="checkbox" id="cb1" ng-model="check" ng-change="checkAll(check)" ng-true-value="YES" ng-false-value="NO"/> Citizen
32

今日、私は同じことをしたかったのですが、実際の質問には誰も答えていませんでした。これはAngular哲学に反しますが、「this.value」を「$ event.target.checked」に置き換えることができます。

<input type="checkbox" id="cb1" ng-click="checkAll($event.target.checked)" />
4
Arntor

Ngモデルを割り当てると、変更に応じてブール値が返されます。

<input type="checkbox" id="cb1" ng-model="checkValue" ng-change="checkAll(checkValue)" />

Ng-clickではなくng-changeを使用する方が良い

1
Sajal

チェックボックスを値にバインドし、ng-clickに渡します。

<input type="checkbox" ng-model="value" id="cb1" ng-click="checkAll(value)" />
1
Daniel Tran