向 ng-repeat 中的 ng-click 函数添加参数似乎不起作用 [英] Adding parameter to ng-click function inside ng-repeat doesn't seem to work
问题描述
我有一个带有 ng-repeat
的简单循环,如下所示:
I have a simple loop with ng-repeat
like this:
<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
字符串.
As far as I know Angular will first render the view and replace interpolated {{task.id}}
with a number, and then, on click event, will evaluate ng-click
string.
在这种情况下,ng-click
完全符合预期,即:ng-click="removeTask(5)".
然而......它没有做任何事情.
In this case ng-click
gets totally what is expected, ie: ng-click="removeTask(5)".
However... it's not doing anything.
当然,我可以编写代码从 $tasks
数组甚至 DOM 中获取 task.id
,但这似乎不是 Angular 的方式.
Of course I can write a code to get task.id
from the $tasks
array or even the DOM, but this does not seem like the Angular way.
那么,如何向 ng-repeat
循环内的 ng-click
指令添加动态内容?
So, how can one add dynamic content to ng-click
directive inside a ng-repeat
loop?
推荐答案
代替
<button ng-click="removeTask({{task.id}})">remove</button>
这样做:
<button ng-click="removeTask(task.id)">remove</button>
请看这个小提琴:
http://jsfiddle.net/JSWorld/Hp4W7/34/
这篇关于向 ng-repeat 中的 ng-click 函数添加参数似乎不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!