1

我在页面上有一些动态元素(即列表)。我想为每个元素添加 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))

4

1 回答 1

2

ngClick指令需要一个表达式。您不应该在其中插入任何内容。所以应该是:

ng-click="onClick('name_' + item.id)"
于 2014-11-16T09:40:54.423 回答