dom - 为什么删除了对多个影子根的支持并用槽代替

标签 dom web-component shadow-dom

期间Web Applications WG (WebApps) Web Components meeting in Mountain View CA US on Friday 24 April 2015 ,得出的结论是应该删除支持多个影子根。据我了解,插槽应该用作使用多个影子根的替代方案。然而, session 记录中提供的解释为什么使用插槽更好的原因的链接已被删除,我找不到任何其他文档来说明如何以及为何做出此决定。我怀疑这与处理多个影子根的困惑性质有关,但我不确定。如果能解释为什么删除多个影子根的支持,我将不胜感激。

TLDR;给出了取消对多个影子根的支持并要求使用插槽的原因。

最佳答案

这是因为它实现起来很复杂。

来自 W3C Web Components wiki :

Pros: enables consistent story for adding shadow trees to builtins / provides reasoning about subclassing DOM trees

Cons: complexity / performance: may result in "submerged" trees that aren't rendered but still participate in style/layout

Cost/benefit of change: Disables the use case for general inheritance-based component composition and Firefox UI in XBL) / Makes implementing Shadow DOM easier

关于dom - 为什么删除了对多个影子根的支持并用槽代替,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45196663/

相关文章:

javascript - 无法将文本值分配给事件处理程序中 JQuery 元素的变量

javascript - 引用错误: obj is not defined using webcomponents & polymer

javascript - 了解 Polymer 事件和带有嵌套元素的数据绑定(bind)?

javascript - 有没有办法阻止 shadow dom 中的 javascript 访问它之外的 DOM?

javascript - 使用 Doctype 让 scrollTop 返回 0,为什么?

javascript - 尝试查找 JS 代码中的错误 - 使用 Javascript 更改 CSS

javascript - 如何从 polymer dom 模块内的函数返回数据?

javascript - Shadow DOM 服务器端模板

javascript - 在 Shadow DOM 内部时,Polymer 元素可以向其父元素添加事件监听器吗?

javascript - 基于Class Change的触发函数