如果我有如下函数(伪代码):
function doSomething (input) {
input.something(something);
do(input, function (res) {
input.send(res)
}
}
但是,我希望能够从另一个区域运行它,并且两者之间唯一的共享变量是$scope
,所以我做了类似的事情:
$scope.doSomething = function (input) {
doSomething(input);
}
现在,我可以使用doSomething
致电$scope
。但是,创建一个额外的功能来完成它是非常混乱的。理想情况下,我希望能够做到这样的事情:
$scope.doSomething = doSomething(input);
但这不起作用。您是否可以使用类似的简写来创建对另一个函数的引用,而不需要“无用”函数?
答案 0 :(得分:1)
如果您已经宣布该功能,您应该能够这样做。但是不使用实际调用该函数的doSomething(input)
,而是使用它而不使用像这样的括号
$scope.doSomething = doSomething;
答案 1 :(得分:0)
你需要做的是分配函数指针。
$scope.doSomething = doSomething;
您当前正在做的事情$scope.doSomething = doSomething(input);
是分配函数调用结果,而不是指针