javascript - 如何在 AngularJS 中使用模板调用函数 foo ("someName")?

标签 javascript angularjs angularjs-ng-repeat angularjs-ng-click angularjs-templates

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

相关文章:

javascript - 使用 Javascript 为样式切换器添加样式表的最佳方法?

javascript - 无论如何要返回 javascript treemap json 中的其他数据?

javascript - 在 ng-repeat 中使用选择值

angularjs - Angular JS - 使用 ng-repeat 动态地将 href 链接添加到图标

javascript - 具有最小值和最大值的 Angular 滤波器

javascript - 使用 Windows 身份验证以编程方式登录 Web 应用程序

javascript - 为什么 google 代码美化器拒绝与 XSLT 一起使用?

javascript - AngularJS 警报上的 ng-show

css - 垂直倾斜的元素列表(或 div)-AngularJS

angularjs - NodeJS中,将数据库查询输出转换为Json格式