Angular 2用于更新DOM的内容。是Shadow DOM还是Virtual DOM? Angular 1中有没有这样的概念?
答案 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部分。
答案 1 :(得分:0)
React和Vue使用虚拟DOM,Angular使用直接DOM渲染系统。
这与Angular对1.x版本所做的一样,但是它已经过优化并且给您带来了惊喜:)
使用JavaScript对象比使用DOM更快,因为没有东西淹没在屏幕上