在Polymer 3.0应用程序中使用Polymer 2.0组件
目前,我将Polymer 2.0应用程序迁移到Polymer 3.0。但目前可以理解的是,许多组件仍然没有迁移(例如vaadin gid)在Polymer 3.0应用程序中使用Polymer 2.0组件,polymer,web-component,polymer-2.x,polymer-3.x,Polymer,Web Component,Polymer 2.x,Polymer 3.x,目前,我将Polymer 2.0应用程序迁移到Polymer 3.0。但目前可以理解的是,许多组件仍然没有迁移(例如vaadin gid) 如何在迁移的Polymer 3应用程序中使用这些Polymer 2组件?基本上在中添加此代码并删除/bower\u组件/Polymer文件夹 <script type="module"> import {PolymerElement} from '@polymer/polymer/polymer-element.js';
如何在迁移的Polymer 3应用程序中使用这些Polymer 2组件?基本上在
中添加此代码并删除/bower\u组件/Polymer
文件夹
<script type="module">
import {PolymerElement} from '@polymer/polymer/polymer-element.js';
window.Polymer = {
Element: PolymerElement
};
window.loadElement = function(filename) {
var l = document.createElement('link');
l.rel = 'import';
l.href = filename
var h = document.getElementsByTagName('head')[0];
h.parentNode.insertBefore(l, h);
}
// Load de main element
loadElement('/main-poly2.html');
</script>
我写了一个例子:
这是可行的,但聚合物团队没有回答我实施是否正确,但可行的是,我的解决方案是使用聚合物模块化剂将聚合物2.0元件升级为聚合物3.0
[Vaadin组件(至少网格,请参见)确实有“转换聚合物3兼容版本”可用。示例很糟糕,但我认为主题本身很有趣……我在中写了一个示例:它可以工作,但聚合物团队没有回答我实现是否正确,但工作感谢您的提示,我没有意识到“转换组件"。这至少对我的Vaadin组件有帮助。这不是模块化器的用途吗,如这里所述:?@mishu:是的,你是对的,这就是模块化器的用途。事实上,我已经用它来迁移我的所有组件。但我正在寻找一种解决方案,我不必迁移所有第三方组件,这是一种很好的解决方法,很有效。谢谢!唯一的缺点是您无法管理加载不同依赖项的频率-甚至可能加载不同的聚合物版本。但现在它可以工作了。谢谢!
<script type="module">
import './poly3-element'
class MainPoly2 extends Polymer.Element {
...
}
</script>
import {PolymerElement, html} from '/node_modules/@polymer/polymer/polymer-element.js';
loadElement('/poly2-element.html');
class Poly3Element extends PolymerElement {
....
}