问题

我有一个带有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)".但是....它没有做任何事情.

当然,我可以编写一个代码来从$tasks数组甚至DOM获取task.id,但这似乎不像Angular方式.

那么,如何在ng-repeat循环中将动态内容添加到ng-click指令中?

  最佳答案

而不是

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

这样做:

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

请看这个小提琴:

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

  相同标签的其他问题

angularjsng-repeatangularjs-ng-click