Angular是否具有React的Virtual DOM等价物?

时间:2017-04-22 17:08:51

标签: angular reactjs virtual-dom zonejs

建议不要直接在React上使用Bootstrap,因为Bootstrap的JavaScript可能会直接改变DOM,干扰React的Virtual DOM系统。人们可以对Angular(2 +)说同样的话吗?

1 个答案:

答案 0 :(得分:0)

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

  

...,因为Bootstrap的JavaScript可能会直接更改DOM,从而干扰   使用React的Virtual DOM系统。可以对Angular说同样的话

是的,对于Angular也是如此。您必须注意其他库不要触摸Angular创建的DOM。第三方库只能使用自己创建的DOM,但是它们需要考虑Angular处理的DOM更改,例如DOM元素破坏组件。如果3rd party库将DOM节点追加到组件的视图中,而Angular破坏了主机DOM元素,则将发生内存泄漏,因为3rd party库将保留对DOM中不再存在的节点的引用。 Angular提供了使用DOM的工具,您可以在以下网站中了解有关它们的更多信息: