将回调参数传递给角度为

时间:2015-08-04 19:50:58

标签: angularjs

说我有一个像这样的控制器(为了简洁而删除不相关的代码)

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;,我知道还有其他方法可以实现这个尝试实现的结果,但是如何将函数作为参数传递给控制器​​函数在角度?

1 个答案:

答案 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);
}

https://gist.github.com/eduardoreche/6302db667852da0b2485