Javascript AngularJS-在ng中使用数据绑定{{},单击

Javascript AngularJS-在ng中使用数据绑定{{},单击,javascript,angularjs,data-binding,single-page-application,angularjs-ng-click,Javascript,Angularjs,Data Binding,Single Page Application,Angularjs Ng Click,有没有办法动态更改ng click调用的方法 大概是这样的: ng-click = "{{functionCalled}}" 然后通过以下方式声明函数: $scope.functionCalled = "callThisFunction(param)"; 从中,ngClick只计算作用域上下文中的表达式。没有什么可以阻止您动态引用函数,但我不确定这是否是预期的方法。我可能会显式调用一个函数,并根据参数切换行为,比如ng click='myFunction(myParams)。尽管如此,这里还

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

大概是这样的:

ng-click = "{{functionCalled}}"
然后通过以下方式声明函数:

$scope.functionCalled = "callThisFunction(param)";
从中,ngClick只计算作用域上下文中的表达式。没有什么可以阻止您动态引用函数,但我不确定这是否是预期的方法。我可能会显式调用一个函数,并根据参数切换行为,比如
ng click='myFunction(myParams)
。尽管如此,这里还是有一个例子说明了你要完成什么

HTML
假设您有一组可能的函数列表,请使用中心函数向其他函数分派调用

ng-click="dispatchFunction(param)"
然后

编辑:实际上,使用完整的调度表:


太好了,谢谢,但是有没有办法动态设置参数?对函数callit(callId)说什么?当然,只需将参数添加到调用中即可
this[myFunc](myParam)
我的意思是,参数从视图中获取ng模型元素的值,比如我更新了我认为您正在讨论的场景的小提琴。嗯,是的,我可能不会用这个来完成那个用例。可以为每个视图动态确定部分,如展开视图以包含该部分,或者在视图之间具有一致的API,如
ng click='done()'
和done函数确定所需的参数。如果不了解更多关于应用程序的信息,很难判断哪一个是合适的。
var app = angular.module('foo',[]).controller('ctrl',function($scope) {
    $scope.myVar = 'callIt';
    $scope.bar = 'before';
    $scope.callIt = function() {
        $scope.bar = 'after';
    }
});
ng-click="dispatchFunction(param)"
$scope.functionToCall = 'callThisFunction';

$scope.dispatchFunction = function(param) {
    switch($scope.functionToCall) {
         case (callThisFunction): callThisFunction(param);
    };