我的html中有一个ng-repeat循环。循环中涉及的变量显示在表行中。我需要允许用户单击所需的值并让js函数接收该值,以便它可以对其进行操作。 我的代码的早期版本不会尝试传递值,只是显示它,在这里并按预期工作;显示具有链接属性的过滤列表中的各种主机值(在我的情况下加下划线)
<tr data-ng-repeat="update in filteredList">
<td> <a href="#">{{update.host}}</a> </td>
<td> {{update.date}} </td>
<td> {{update.num}} </td>
</tr>
我尝试将用户点击的主机价值传递给我的功能&#34;搜索者&#34;在这里,但它不起作用:
<tr data-ng-repeat="update in filteredList">
<td> <a href="#" ng-click="searcher({{update.host}})">{{update.host}}</a> </td>
<td> {{update.date}} </td>
<td> {{update.num}} </td>
</tr>
遇到它时,angularjs会抱怨: 错误:[$ parse.syntax]语法错误:令牌&#39; update.host&#39;是意料之外的,期望在[searcher({{update.host}})的第12列的[:];]从[update.host}});]开始。
有人可以告诉我angularjs可以接受的方式将点击的主机值传递给我的函数吗?
非常感谢。
答案 0 :(得分:1)
正如其他人在评论中提到的那样,这对您有用:
<a href="#" ng-click="searcher(update.host)">{{update.host}}</a> </td>
结帐the documentation for ng-click,表示它接受expression(因此您不需要{{binding}}
语法)。
答案 1 :(得分:0)
这是正确的方法
<tr data-ng-repeat="update in filteredList">
<td> <a href="#" ng-click="searcher(update.host)">{{update.host}}</a> </td>
<td> {{update.date}} </td>
<td> {{update.num}} </td>
</tr>
答案 2 :(得分:0)
尝试:
<td> <a href="#" ng-click="searcher(update.host)">{{update.host}}</a> </td>
如上所述,您不需要围绕ng-click中的变量使用大括号。在任何角度指令参数中都没有。