从范围调用函数的简写

时间:2014-07-27 15:10:59

标签: javascript angularjs

如果我有如下函数(伪代码):

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);

但这不起作用。您是否可以使用类似的简写来创建对另一个函数的引用,而不需要“无用”函数?

2 个答案:

答案 0 :(得分:1)

如果您已经宣布该功能,您应该能够这样做。但是不使用实际调用该函数的doSomething(input),而是使用它而不使用像这样的括号

$scope.doSomething = doSomething;

答案 1 :(得分:0)

你需要做的是分配函数指针。

$scope.doSomething = doSomething;

您当前正在做的事情$scope.doSomething = doSomething(input);是分配函数调用结果,而不是指针