我是Angular的新手,我发现有一些像Renderer2
,ViewChild
和ElementRef
这样的东西是为了处理DOM而不是直接访问它。我遇到的文章说直接操纵DOM是一个坏主意,所以我们应该使用那些Angular的包装器,无论它是什么服务。所以它让我感到疑惑,在什么方面直接处理DOM是一个坏主意?任何见解都会受到赞赏!
答案 0 :(得分:4)
当我们直接访问本机元素时,我们放弃了Angular的DOM抽象,错过了在非DOM环境中执行的机会,例如本机移动,本机桌面,Web工作者或服务器端呈现
请记住,Angular是一个平台,浏览器只是我们可以渲染应用程序的一个选项。
所以你要做的就是把这个责任交给这些班级。
答案 1 :(得分:2)
直接在Angular中处理dom是个坏主意"当你需要服务器渲染或使用不起作用的webworker时。它还可以让你更轻松地创建单元测试,因为你没有操作dom。