说我有一个像这样的控制器(为了简洁而删除不相关的代码)
app.controller('MyCtrl', [function(){
vm = this
vm.funcA = function(param){
alert("Func a called with " + param);
}
vm.funcB = function(param, callBack){
//do stuff
callBack(param);
}
}])
并且在视野中如此
<div ng-controller = "MyCtrl as myctrl">
<button ng-click = "myctrl.funcB('Hello World', myctrl.funcA)"> Click Me</button>
</div>
运行它会产生错误&#34; callBack不是函数&#34;,我知道还有其他方法可以实现这个尝试实现的结果,但是如何将函数作为参数传递给控制器函数在角度?
答案 0 :(得分:1)
只需传递分离到函数
的回调参数<button ng-click = "myctrl.funcB('Hello World', myctrl.funcA, 'funcA param')"> Click Me</button>
以及funcB()签名
vm.funcB = function(param, callBack, param){
//do stuff
callBack(param);
}