2016-03-27 46 views
0

我需要知道不使用$ scope定義的函數和變量(例如$ scope.myfunction = function(){})之間的區別。

我需要知道如果我在控制器中定義一個變量或函數而不把它作爲$ scope的屬性,那麼這些變量/方法的範圍是什麼?它會得到$ windows範圍?

如果我想在控制器中定義一些函數來組織我的代碼,可以在沒有$ scope方法的情況下定義這些函數嗎?

最佳實踐是什麼?

回答

0

是的。一般情況下,不要使用視圖中不需要的函數來污染$ scope。

0

JavaScript的函數範圍應用全部相同。在這方面沒有什麼特殊的角度。你可以在這裏閱讀:What is the scope of variables in JavaScript?

然後你會知道在控制器(或函數)內聲明的函數將不會有窗口範圍。定義不是$ scope對象的屬性的函數是可以的。實際上,如果您打算在模板中使用變量/函數(最佳實踐),則只應將變量/函數附加到$ scope對象。