Mike Hartington 热烈赞扬 Shadow DOM 的强大功能和实用性
[Shadow DOM] 实际上建立在两个简单的理念之上,即隔离和定位。需要创建一个与全局范围隔离的 DOM 部分?Shadow DOM 可以帮您。需要指定 DOM 片段的准确位置?Shadow DOM 的作用域 API 就是您需要的!
将使用 Shadow DOM 的组件视为 HTML 模块会很有帮助。标记和样式被隔离到它们自己的 DOM 树中,并从全局上下文中移除。
上次我们 在这里讨论它 时,我展示了 Twitter 如何将其用于嵌入推文(这是一个非常棒的用例)以及它如何回退到 iframe。Mike 说他们在不支持的情况下对其进行了填充。
我怀疑隔离的样式是任何 CSS-in-JS 方法的主要卖点,并且对该方法的原生实现的广泛支持最终将取代它。但是……您必须使用 Web 组件 才能使用它,这意味着您框架创建的组件需要是 Web 组件。这完全有可能;只是我并不经常看到。