【发布时间】:2021-09-29 18:08:52
【问题描述】:
我创建了一个本机 Web 组件 (HTMLElement),并使用它来公开一个现有的组件(小写“c”),它是一个由 HTML/CSS/JS 组成的片段......基本上将它包装在 Web 中帮助其重用并将其与网页的其余部分隔离的组件。
问题是我包含在我的 Web 组件中的组件有一些 JavaScript 来延迟加载图像,它列出了 DOMContentLoaded 文档事件以触发其操作 DOM 的一些 JS(注入正确的 @987654322 @标签)..
我能够将所有内容放入我的 Web 组件中,并在 shadowRoot(使用 mode: open)内执行组件的 JS,但是永远不会调用 DOMContentLoaded 上的组件事件侦听器。
我尝试在 constructor() 和 connectedCallback() 中编写我的 Web 组件中的所有内容,但它们的行为相同。
- Web 组件/ShadowDOM 是否有自己的 DOMContentLoaded 事件?和/或它是否尊重父 DOM 的“状态”?
- 如果我在为
document...绑定事件侦听器的 Web 组件上下文中执行 JS,该事件侦听器是否仅适用于 ShadowDOM?还是实际上绑定到父 DOM?
更新:我正在异步加载我的 Web 组件 - 所以它是在父级的自然 DOMContentLoaded 事件触发后加载的。
【问题讨论】:
标签: web-component native-web-component