在ng-repeat内的ng-click函数中添加参数似乎不起作用 [英] Adding parameter to ng-click function inside ng-repeat doesn't seem to work

查看:96
本文介绍了在ng-repeat内的ng-click函数中添加参数似乎不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个与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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆