Angular中文档与$文档之间的差异

JDo*_*JDo 9 javascript angularjs

使用document$document开发Angular的应用程序有什么区别?我读到最好使用angular的等价物: $window代替window$timeout代替setTimeout.

但为什么?我想window,setTimeout并且document更快,因为它们是原生的,不需要"通过"Angular框架的代码.

使用Angular的等价物而不是本机函数,来自JS的对象是否更好?

Ste*_*fan 9

通过使用$ document和$ window的角度服务,您可以使代码单元测试准备就绪.这种依赖注入允许您在测试中使用$ document或$ window的模拟版本.

提到的性能影响可以忽略不计.


Fur*_*ran 7

$document是一个jQuery对象,$(document).

所以基本上你应该能够做到:

$document[0].property = document.property
Run Code Online (Sandbox Code Playgroud)

你可以看一下这个例子.


小智 1

以下始终正确: $window.document === $document[0]