离子框架中$ window和window之间的确切区别是什么?
例如,在learn.ionicframework.com/formulas/localstorage/的localstorage教程中,都使用了$ window和window。
答案 0 :(得分:12)
$window
是一个包装全局变量window
的Angular服务,主要是为了模拟它进行单元测试:
对浏览器窗口对象的引用。虽然窗口在JavaScript中是全局可用的,但它会导致可测试性问题,因为它是一个全局变量。在角度我们总是通过$ window服务引用它,因此它可能被覆盖,删除或模拟以进行测试。
如果你看at the source,你会发现它背后没有更多的东西:
function $WindowProvider() {
this.$get = valueFn(window);
}
答案 1 :(得分:0)
两者都与离子骨架无关。
window是一个浏览器对象,表示包含DOM的窗口。 我们用于javascript的'document'是window对象的属性 window.document。
其中$ window是以角度创建的服务,可以再次注入以角度写入的任何服务或控制器以使用其API。
请参阅$ window