合成LWC影子DOM插槽与本机影子DOM插槽

时间:2019-12-09 15:02:19

标签: javascript web-component shadow-dom salesforce-lightning lwc

LWC合成影子dom似乎不像本地影子dom实现那样处理插槽。

假设您从一个元素开始

def provider():
    return [1, 2]

然后您将影子dom附加并添加一个插槽,则将h1插入插槽:

Normal shadow dom

现在,如果您在运行“ @ lwc / synthetic-shadow”时也这样做:“ ^ 1.1.1”

您得到:

synthetic shadow dom

有趣的是,它看起来也像将光域移动到合成阴影根中。 我应该调用一个函数来使插槽正常​​工作吗?或某种排序?

1 个答案:

答案 0 :(得分:1)

不幸的是,“合成Shadow DOM”是无法完全模仿真实(本地)Shadow DOM(例如css封装...或开槽)行为的polyfill。

这就是<slot>元素出现在浅色DOM中的原因:

  • 实际上没有Shadow DOM(控制台中没有#shadow-root
  • shadowRoot属性是一个 fake 属性,该属性重定向到附加到文档片段的文档片段(请参见#document-fragment而不是控制台中的#shadow-root)。轻型DOM。