0
控制器访问实例函数我有一个控制器,它看起来像这样:
function controller($scope)
{
this.helper() = function()
{
// some processing
};
$scope.doSomething = function()
{
helper();
};
}
当DoSomething的是所谓的,我得到一个错误,该助手()没有定义。将“this”放在helper()的调用前面不起作用,因为这里的'this'指向$ scope而不是控制器实例。
我的问题是:有没有办法从范围内的函数内调用这样的本地帮助函数? (我知道我也可以在$ scope上放置helper(),但宁愿不要,因为它完全是一个方便的功能,而不是从视图中调用的东西。)
这样构造代码的原因是便于单元测试中的helper()函数的单独测试。
谢谢,这有效,即使有点凌乱。对于doSomething本身内的当前控制器实例,没有办法要求angularjs? –
@ErikJ不,不幸的是,JS没有能力做到这一点。 – Doorknob