我在页面上有一些动态元素(即列表)。我想为每个元素添加 onClick 操作的处理程序,除了每个元素应该使用指定的数据调用此处理程序。
我试过这个:
js:
$scope.data = [
{
id: 1,
name: "1",
order: "10"
},
{
id: 2,
name: "2",
order: "20"
},
{
id: 3,
name: "3",
order: "30"
}
];
html:
<div ng-repeat="item in data" name="{{ 'name_' + item.id }}" ng-click="onClick({{ '\'name_' + item.id +'\'' }})" value="item">
Item name is "{{ item.name }}"
</div>
当我观察 dom 时,我看到正确的 html:ng-click="onClick('name_1')",但是当我点击该行时,没有任何反应。为什么? (另外,我在控制台中出现 angularJS 的长红色错误,说我真的错了)
我怎样才能达到我想要的?我并不是说必须用我的方法来完成。可能有另一种方法 - 比我的更好(比如使用一些 Angular 属性(比如 ng-repeat 有:$index))
最佳答案
ngClick
指令中需要一个表达式。您不应该在其中插入任何内容。所以应该是:
ng-click="onClick('name_' + item.id)"
关于javascript - 如何在 AngularJS 中使用模板调用函数 foo ("someName")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26955516/