3

Polymer 3 和 LitElement 看起来对未来基于组件的开发非常有吸引力,我期待在我的项目中使用它们。

但这里的绊脚石之一是具有大量现成元素的旧 Polymer 代码库似乎与 LitElement 和即将推出的 Material Web 组件不完全兼容。

例如,如果任何父元素是使用 LitElement 基础实现的,则纸质对话框中的iron-overlay-behavior无法提供焦点陷印。我知道这个问题可能主要是由iron-ovelay-behavior实现引起的,但主要问题保持不变。

这是否意味着如果您想在您的项目中采用 LitElement,您必须从头开始实现自己的对话框组件,并且可能还有许多以前可用作纸质元素的其他元素?

4

2 回答 2

2

去年年底,我们使用 Polymer 开始了我们的项目,并且在过去的 4 或 5 个月内一直在缓慢地向 lit-Element 发展。尽管如您所描述的那样有一些小问题,但两者非常兼容。例如,我们创建了许多从纸张输入扩展而来的输入,但我们的表单是 Polymer 和 LitElement 的混合体。

在我看来,我可能会建议现在坚持使用 LitElement,并尽可能尝试创建自己的组件。你不能总是这样做,但它在很多时候都有效。

于 2018-09-13T13:48:02.857 回答
1

是的,这就是它的意思——尽管都继承自 HTMLElement,但 PolymerElement 和 LitElement 是不兼容的。

与 LitElement 唯一的产品相比,这种基本不兼容性的一个简单示例是 Polymer 的选择{{two-way}}和数据绑定。在某些情况下,将一种转换为另一种可能非常简单,但情况不一定如此,而且可能会更不那么向前发展,因为 LitElement 现在基本上已经在 Polymer 3.0 中取代了 PolymerElement。[[one-way]]${one-way}

我建议您推出自己的基于 LitElement 的新组件 - 并考虑将它们发布到 webcomponents.org,以便其他人可以从您的即用型元素中受益,就像您希望使用旧的 Polymer 代码库一样。(注意聚合物组件的文档指南

于 2019-01-04T22:31:23.613 回答