【问题标题】:pass callback param to controller function in angular以角度将回调参数传递给控制器​​函数
【发布时间】:2015-08-05 08:35:10
【问题描述】:

假设我有一个这样的控制器(为简洁起见,删除了不相关的代码)

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>

运行它会给出一个错误“callBack 不是函数”,我知道还有其他方法可以实现这个试图实现的结果,但是你如何将函数作为参数传递给 angular 的控制器函数?

【问题讨论】:

标签: angularjs


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-26
    • 2014-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    相关资源
    最近更新 更多