Angular 2使用Shadow DOM还是Virtual DOM?

时间:2016-09-28 06:33:03

标签: angular shadow-dom virtual-dom

Angular 2用于更新DOM的内容。是Shadow DOM还是Virtual DOM? Angular 1中有没有这样的概念?

2 个答案:

答案 0 :(得分:34)

Angular2不使用 shadow DOM (默认)也不使用虚拟DOM

使用encapsulation: ViewEncapsulation.Emulated(默认值)时,没有 shadow DOM ,因为只会模拟样式封装。

encapsulation: ViewEncapsulation.Native在本机支持它的浏览器上启用 shadow DOM ,或者在加载webcomponents polyfill时再次模拟它。

Shadow DOM 也不像虚拟DOM那样定位性能,而是样式封装。

Angular2根本不使用虚拟DOM

Angular2具有更改检测功能,可检测模型的更改,并仅根据模型更改更新需要更改的DOM部分。

有关详情,请参阅Is shadow DOM fast like Virtual DOM in React.js?

答案 1 :(得分:0)

React和Vue使用虚拟DOM,Angular使用直接DOM渲染系统。

这与Angular对1.x版本所做的一样,但是它已经过优化并且给您带来了惊喜:)

使用JavaScript对象比使用DOM更快,因为没有东西淹没在屏幕上