在ng-repeat内部进行角度ng-click

时间:2014-02-06 11:33:30

标签: javascript angularjs angularjs-ng-repeat

我有一个问题是将ng-click指令与我的控制器内的方法绑定。我试图将大括号放在ng-click中,但语法错误。如果我放ng-click="{{action.method}}",就会出现同样的行为。

的index.html

<!DOCTYPE html>
<html ng-app="app">
<head>
  <script data-require="angular.js@1.2.11" 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')
  }
}])

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

您应该使用:

  <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()