我偶然发现了几次Light DOM的事情,但无法理解与Shadow DOM的区别。如果有人能提供明确的答案,那将非常感激。
答案 0 :(得分:11)
Light DOM 只是HTML元素中的普通旧 DOM树。
该术语仅用于组件的上下文中,以区别于Shadow DOM。 我认为正常的DOM被重新定义为 Light 与 Shadow 相比。
The specs将其称为 shadowroot主机的节点树或灯树:
影子根始终通过其主机附加到另一个节点树。因此,影子树永远不会孤单。阴影根主机的节点树有时也称为轻树。
我把它称为普通的DOM: - )
Shadow DOM 是恢复,掩码或替换普通DOM的添加DOM,如在article from Google中解释。
渲染的DOM可以是Shadow DOM和Light DOM的组合(通过<slot>
元素)
注意:不可能在JavaScript中完全填充Shadow DOM行为,因此Shadow DOM polyfill实际上只处理普通的DOM树。
答案 1 :(得分:2)