AngularJS - 在ng-click中使用数据绑定{{}}

Foo*_*eNG 7 javascript data-binding angularjs single-page-application angularjs-ng-click

有没有办法动态更改ng-click调用的方法?

像这样的东西:

ng-click = "{{functionCalled}}"
Run Code Online (Sandbox Code Playgroud)

然后通过以下方式声明函数:

$scope.functionCalled = "callThisFunction(param)";
Run Code Online (Sandbox Code Playgroud)

Pat*_*ick 8

文档中,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>
Run Code Online (Sandbox Code Playgroud)

JavaScript的

var app = angular.module('foo',[]).controller('ctrl',function($scope) {
    $scope.myVar = 'callIt';
    $scope.bar = 'before';
    $scope.callIt = function() {
        $scope.bar = 'after';
    }
});
Run Code Online (Sandbox Code Playgroud)