2015-04-01 62 views
0

Angular的$ window注入有什麼用處?

例如,

var myController = function ($scope, $window) { 

    // window is still available here 
}; 
myController.$inject = ['$scope', '$window']; 

回答

1

在可能的情況下避免使用全局變量是已知的最佳實踐。因此,Angular爲您提供了一種有效的「角度」方式選項,以便將代碼中的窗口對象作爲服務提供給您。測試有這個選項是非常有用的。

1

主要用於可測性目的,在Doc

說,窗口是在JavaScript全局可用,它會導致 可測性的問題,因爲它是一個全局變量。在角度上我們 總是通過$ window服務引用它,所以它可能被 覆蓋,刪除或模擬以進行測試。