LitElement缺乏与Polymer元素的兼容性

时间:2018-06-07 13:22:13

标签: polymer polymer-3.x paper-dialog lit-element

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

但是这里的一个绊脚石是旧的聚合物代码库以及许多现成元素似乎与LitElement和即将推出的Material Web组件完全兼容。

例如,如果使用LitElement base实现任何父元素,则纸张对话框中的铁叠加行为无法提供焦点捕获。我知道this issue可能主要是由 iron-ovelay-behavior 实现引起的,但主要问题保持不变。

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

2 个答案:

答案 0 :(得分:2)

我们从去年下半年开始使用Polymer进行项目,在过去的4到5个月中,我们逐渐朝着lit-Element过渡。正如您所描述的,尽管有一些小问题,但两者非常兼容。例如,我们创建了许多从纸张输入扩展的输入,但是我们的表单是Polymer和LitElement的混合。

我认为,我可能建议暂时坚持使用LitElement并尝试在可能的情况下创建自己的组件。您不能总是这样做,但是很多时候都可以。

答案 1 :(得分:1)

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

与LitElement仅提供{{two-way}}相比,这种基本不兼容的一个简单示例是Polymer选择[[one-way]]${one-way}数据绑定。在某些情况下,将一种转换为另一种可能很直接,但这不是必须的,而且前进的步伐甚至可能会更少,因为LitElement现在已经在Polymer 3.0中基本上替代了PolymerElement。

我建议您使用自己的新基于LitElement的组件-并考虑使用publishing them to webcomponents.org,以便其他人可以从您的即用型元素中受益,就像您希望使用旧的Polymer一样代码库。 (note documentation guide for Polymer components