我在将 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/