ng-repeat内のng-click関数にパラメータを追加しても機能しないようです。質問する

ng-repeat内のng-click関数にパラメータを追加しても機能しないようです。質問する

次のような単純なループがあります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)".ただし、何も行われません。

もちろん、配列や DOMtask.idから取得するコードを書くこともできます$tasksが、これは Angular の方法ではないようです。

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

ベストアンサー1

の代わりに

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

これを行う:

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

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

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

おすすめ記事