javascript - ng-repeat 内的 ng-click Angular

标签 javascript angularjs angularjs-ng-repeat

我在将 ng-click 指令与 Controller 内的方法绑定(bind)时遇到问题。我尝试将大括号放在 ng-click 内,但出现语法错误。如果我输入 ng-click="{{action.method}}",也会发生相同的行为。

index.html

<!DOCTYPE html>
<html ng-app="app">
<head>
  <script data-require="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b2d3dcd5c7ded3c09cd8c1f2839c809c8383" rel="noreferrer noopener nofollow">[email protected]</a>" data-semver="1.2.11" src="http://code.angularjs.org/1.2.11/angular.js"></script>
  <script src="script.js"></script>
</head>

<body ng-controller="Controller">
  <ul ng-repeat="action in actions">
    <li ng-click={{action.method}}>{{action.name}}</li>
  </ul>
</body>
</html>

Controller .js

var app = angular.module('app',[])

app.controller('Controller',['$scope',function ($scope) 
{
  $scope.actions = [
    {
      name : 'add Folder',
      method : 'addFolder()'
    }  
  ]

  $scope.addFolder = function(){
    alert('addFolder')
  }
}])

有什么建议吗?

最佳答案

您应该使用:

  <ul>
    <li ng-repeat="action in actions" ng-click="action.method()">{{action.name}}</li>
  </ul>

相反。

这是一个演示:http://jsbin.com/cuye/2/edit

请注意,ng-click 接受表达式,而不仅仅是函数,因此您需要调用它:action.method()

关于javascript - ng-repeat 内的 ng-click Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21601773/

相关文章:

javascript - 使用AJAX使用按钮将表单信息发送到另一个页面

javascript - AngularJS 在 ng-repeat 中通过 id 访问 DOM 元素

javascript - AngularJS 将 ui-view 嵌套到 ng-repeat 中

javascript - 如何从 ng-repeat 内部获取 var 并将其传递给 Controller ​​,而不是将其传递回 ng-repeat

javascript - 是否有相当于 Spring :bind for binding forms and data on the front end?

php - 至少选择一个复选框,PHP

javascript - 如何禁用chrome native "max-scroll"覆盖?

angularjs - Angular 2 - 将模块移动到他们自己的项目

javascript - 在 AngularJS 应用程序中使用纯 javascript 对象是好的还是坏的做法?

Angularjs - 在项目上的 ng-repeat 内设置值 ng-click