当前位置: 首页 > 知识库问答 >
问题:

在ng repeat中向ng click函数添加参数似乎不起作用

宋健柏
2023-03-14

我有一个简单的循环与ng-重复像这样:

<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-单击字符串。

在这种情况下,ng click完全获得预期效果,即:ng click=“removeTask(5)” 但是。。。它什么也没做。

当然,我可以编写代码来获取任务。id来自$tasks数组,甚至来自DOM,但这看起来不像是有角度的方式。

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


共有3个答案

狄宏大
2023-03-14

同样值得注意的是,对于在搜索中发现这一点的人来说,这是...

<div ng-repeat="button in buttons" class="bb-button" ng-click="goTo(button.path)">
  <div class="bb-button-label">{{ button.label }}</div>
  <div class="bb-button-description">{{ button.description }}</div>
</div>

注意ng的值,单击。传递给goTo()的参数是绑定对象(按钮属性)属性中的字符串,但它没有用引号括起来。看起来AngularJS帮我们处理了。我被挂了几分钟。

卢涵畅
2023-03-14

有一件事真的挂我,当我在浏览器中检查这个html,而不是看到它扩展到这样的东西:

<button ng-click="removeTask(1234)">remove</button>

我看到了:

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

然而,后者是有效的!

这是因为你是在"Angular World",当里面ng-单击=""Angular所有准备好知道task.id因为你在里面它的模型。没有必要使用数据绑定,如{{}}。

此外,如果您希望传递任务对象本身,您可以:

<button ng-click="removeTask(task)">remove</button>
刁璞
2023-03-14

而不是

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

这样做:

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

请看这把小提琴:

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

 类似资料:
  • 问题内容: 我有一个像这样的简单循环: 控制器中有一个功能。 据我所知,Angular将首先渲染视图并用数字替换插值,然后在单击事件时将评估字符串。 在这种情况下,完全可以得到预期的结果,即:但是……它什么也没做。 当然,我可以编写代码以从数组甚至DOM中获取代码,但这似乎不像Angular那样。 那么,如何在循环内向指令添加动态内容呢? 问题答案: 代替 做这个: 请看这个小提琴: http:/

  • 问题内容: 我只是在阅读这个问题,想尝试使用别名方法,而不是使用功能包装器方法,但是我似乎无法使其在Firefox 3或3.5beta4或GoogleChrome中在调试窗口和在测试网页中。 萤火虫: 如果将其放在网页中,则对myAlias的调用给我这个错误: Chrome(为清楚起见,插入了>>>): 在测试页中,我得到了相同的“非法调用”。 难道我做错了什么?有人可以复制吗? 另外,奇怪的是,

  • 我正在用Eclipse Juno、WindowBuilder在Java7 SE上开发我的第一个JDialog,“摆动自动数据库”()。我很想测试自动数据绑定 我只在Eclipse数据绑定GUI的帮助下为类用户提供了一个编辑对话框。 “我的对话框”将打开,其中的文本字段包含来自用户实例的正确初始值。当我修改文本字段文本,然后单击Ok按钮时,我看不到对用户实例的任何更改。这是我的对话代码。。。。。 绑

  • 我的代码看起来像 我的文件如下所示 当我运行程序时,我看到 我怎样才能修好它呢?

  • 我有一个基本的HTML网站,有几个谷歌地图在里面。每个子站点都有自己的地图。每个站点都有调用JS函数的代码: 这是JS函数:

  • 问题内容: 我在使用该功能时遇到了麻烦。 我只需要知道SQL查询是否返回零行。 我已经尝试过以下简单的语句: 类型是哪里。上面的代码似乎不起作用。无论是否为空,它将始终打印该消息。 我检查了SQL查询本身,当存在行时它正确返回了非空结果。 关于如何确定查询是否已返回0行的任何想法?我用谷歌搜索,找不到任何答案。 问题答案: ResultSet.getFetchSize()不返回结果数!从这里: 使