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

查看:24
本文介绍了向 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天全站免登陆