Angular 是否具有与 React 的虚拟 DOM 相当的功能?

Sam*_*mmy 7 reactjs virtual-dom zonejs angular

不建议直接将 Bootstrap 与 React 一起使用,因为 Bootstrap 的 JavaScript 可能会直接更改 DOM,从而干扰 React 的虚拟 DOM 系统。对于 Angular (2+) 可以说同样的话吗?

Max*_*kyi 2

React 的 Virtual DOM 术语已经超载了。如果您的意思是 React Element - 一个描述 HTML 元素或子组件并在更改检测(协调)期间使用的 JavaScript 对象,那么不,Angular 没有等效项。它仅解析模板一次,创建绑定并在更改检测期间处理这些绑定。您可以在我写的文章中阅读更多相关信息,该文章比较了两个框架中的更改检测:

...因为 Bootstrap 的 JavaScript 可能会直接改变 DOM,从而干扰 React 的虚拟 DOM 系统。对于 Angular 也可以这么说吗?

是的,Angular 也可能是这样。你必须小心其他库不要触及 Angular 创建的 DOM。3rd 方库只能使用它们自己创建的 DOM,但它们需要考虑 Angular 处理的 DOM 更改,例如组件及其 DOM 元素的销毁。如果第 3 方库将 DOM 节点附加到组件的视图中,并且 Angular 破坏了主机 DOM 元素,则将会出现内存泄漏,因为第 3 方库将保留对不再位于 DOM 中的节点的引用。Angular 提供了使用 DOM 的工具,您可以在以下位置阅读有关它们的更多信息: