我在页面上有一些动态元素(即列表)。我想为每个元素添加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得到长红色错误,说我错了)
我如何实现我想要的目标?我不是说必须通过我的方法来完成。可能还有另一种方法 - 比我更好(比如使用一些角度属性可能(比如ng-repeat有:$ index))
答案 0 :(得分:2)
ngClick
指令需要一个表达式。你不应该在里面插入任何东西。所以它应该是:
ng-click="onClick('name_' + item.id)"