有没有办法动态更改ng-click调用的方法?
像这样的东西:
ng-click = "{{functionCalled}}"
然后通过以下方式声明函数:
$scope.functionCalled = "callThisFunction(param)";
解决方法
从
docs开始,ngClick只评估范围上下文中的表达式.没有什么能阻止你动态引用函数,但我不确定这是否是预期的方法.我可能会显式调用一个函数并根据参数切换行为,而不是像ng-click =’myFunction(myParams)’.尽管如此,这是一个你要完成什么的例子.
http://jsfiddle.net/8cvGt/2/
HTML
<div ng-app='foo' ng-controller='ctrl'> <div ng-click='this[myVar]()'>{{ bar }}</div> </div>
JavaScript的
var app = angular.module('foo',[]).controller('ctrl',function($scope) { $scope.myVar = 'callIt'; $scope.bar = 'before'; $scope.callIt = function() { $scope.bar = 'after'; } });