1 回答
TA贡献1810条经验 获得超5个赞
要旨:
主意
这个想法是创建与框架无关的组件,以便它可以完美地在不同的应用程序中使用。该组件已经用 emberjs 编写。
解决方案
解决方案是编写明显的 web 组件,但我们已经用 emberjs 插件编写了我们的代码。所以我们决定将附加项目迁移到最新的 ember,在我们将附加组件迁移到 glimmerjs 并将该 glimmerjs 组件转换为 web 组件(使用@glimmer/web-component)并使用它之后。
我们付出了努力,让它发挥了作用。我正在分享我们应用的当前解决方案。
正如我在问题中提到的,我们面临着一些挑战。我会一一解答。
为了在两个组件之间传递对象,我们通过提高CustomEventfromchild-component来传递它parent-component
didInsertElement() {
this.element.dispatchEvent(
new CustomEvent('data-ready', { bubbles: true, detail: this })
);
}
经过研究发现,glimmer不支持shadow DOM,目前他们也没有任何支持的计划。一旦我们认为shadow-dom拥有特性是好的,就重新分析需求。我们正在使用 CSS 特异性(传统方式)来隔离特定于组件的 CSS :p
尽管在应用上述内容后,我们的状态良好。如果你想看看代码。请检查此github 存储库(初始外观)
添加回答
举报
