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

时间:2015-10-27 08:31:24

标签: javascript angularjs

在开发Angular的应用程序时使用document$document有什么区别? 我读到使用有角度的等价物更好: $window代替window$timeout代替setTimeout

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

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

是否更好?

4 个答案:

答案 0 :(得分:9)

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

可以忽略提到的性能影响。

答案 1 :(得分:7)

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

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

$document[0].property = document.property

您可以查看this作为示例。

答案 2 :(得分:1)

以下是永远的: $ window.document === $ document [0]

答案 3 :(得分:0)

你应该使用有角度的包装纸,bcus它不会破坏与model->视图的角度同步,

例如,如果你使用setTimeout,你必须$ digest()范围来刷新视图中的值,如果你打算改变一些模型值,另一方面如果你使用$ timeout你就不会#39 ; t需要这样做bcus范围将在函数结束后刷新