我有一个像_1312782这样的简单循环:
<li ng-repeat='task in tasks'>
<p> {{task.name}}
<button ng-click="removeTask({{task.id}})">remove</button>
</li>
控制器 $scope.removeTask(taskID)
中有一个功能 .
据我所知,Angular将首先渲染视图并用数字替换插值的 {{task.id}}
,然后,在click事件中,将评估 ng-click
string .
在这种情况下 ng-click
完全得到预期的结果,即: ng-click="removeTask(5)".
然而......它没有做任何事情 .
当然我可以编写一个代码来从 $tasks
数组甚至DOM中获取 task.id
,但这看起来不像Angular方式 .
那么,如何在 ng-repeat
循环中为 ng-click
指令添加动态内容?
7 回答
以上答案非常好 . 您可以查看以下完整的代码示例,以便您可以准确地知道如何使用
代替
做这个:
请看这个小提琴:
http://jsfiddle.net/JSWorld/Hp4W7/34/
真正让我感到困惑的一件事是,当我在浏览器中检查这个HTML时,而不是看到它扩展到类似的东西:
我看见:
但是,后者有效!
这是因为你在“Angular World”中,当在ng-click =“”内部时,Angular都知道了task.id,因为你在它的模型里面 . 没有必要使用数据绑定,如{{}}中所示 .
此外,如果您想传递任务对象本身,您可以:
另外值得注意的是,对于在搜索中发现这一点的人来说,这是......
注意
ng-click
的值 . 传递给goTo()
的参数是绑定对象的属性(button
)中的字符串,但它不包含在引号中 . 看起来像AngularJS为我们处理 . 我挂了几分钟 .这很有效 . 谢谢 . 我正在注入自定义html并使用控制器中的angular进行编译 .
HTML:
Java脚本:
这是ng重复点击功能和附加滑块