1. ホーム
  2. angularjs

[解決済み] ng-repeat内のng-click関数にパラメータを追加しても、うまくいかないようです。

2022-03-25 04:54:20

質問

というシンプルなループがあります。 ng-repeat このように

<li ng-repeat='task in tasks'>
  <p> {{task.name}}
  <button ng-click="removeTask({{task.id}})">remove</button>
</li>

コントローラの中にある関数 $scope.removeTask(taskID) .

私の知る限り、Angularはまずビューをレンダリングして、補間された {{task.id}} を数字に変換し、クリックイベント時に ng-click の文字列を表示します。

この場合 ng-click は完全に期待通りのものを取得します。 ng-click="removeTask(5)". しかし...何もしてくれません。

を取得するコードを書くことはできます。 task.id から $tasks の配列やDOMでも良いのですが、これはAngularの方法ではないように思えます。

では、どのようにすれば動的コンテンツを ng-click ディレクティブの内部で ng-repeat のループに入るのでしょうか?

どのように解決するのですか?

の代わりに

<button ng-click="removeTask({{task.id}})">remove</button>

はこれを行う。

<button ng-click="removeTask(task.id)">remove</button>

このフィドルをご覧ください。

http://jsfiddle.net/JSWorld/Hp4W7/34/