Renderer2、ViewChild 和 ElementRef。为什么我们在 Angular 中需要/使用这些东西?

Don*_*Kim 2 javascript angular

我对 Angular 还很陌生,我发现有类似Renderer2,ViewChild和的东西,是ElementRef为了处理 DOM 而不是直接访问它。我遇到的文章说直接操作 DOM 是一个坏主意,所以我们应该使用那些 Angular 提供的包装器和服务,无论它是什么。所以我想知道,在什么情况下直接处理 DOM 是一个坏主意?任何见解将不胜感激!

Baz*_*nga 6

当我们直接访问原生元素时,我们放弃了 Angular\xe2\x80\x99s DOM 抽象,并错过了能够在非 DOM 环境(例如本机移动、本机桌面、Web Worker 或服务器)中执行的机会侧渲染。

\n\n

请记住,Angular 是一个平台,浏览器只是我们渲染应用程序的一个选项。

\n\n

所以你要做的就是把这个责任交给这些类。

\n