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