【问题标题】:Is it possible to upgrade polymer 3 partially?是否可以部分升级聚合物 3?
【发布时间】:2018-12-28 23:08:19
【问题描述】:

我正在尝试将我的应用程序从聚合物 2 升级到聚合物 3。我尝试通过调制器,但应用程序损坏了。它是大型应用程序,因此我打算逐个升级元素。是否可以将应用程序(元素)的某些部分升级到聚合物 3。

我根据聚合物 3 语法转换了我的一个应用程序元素,然后尝试将其导入另一个元素,如下所示,但它不起作用。

请参阅下面的示例,

import { PolymerElement, html } from '@polymer/polymer/polymer-element.js';
import '@polymer/polymer/lib/elements/dom-if.js';
import '@polymer/paper-checkbox/';
import { setPassiveTouchGestures } from '@polymer/polymer/lib/utils/settings';

class StartPolymer3 extends PolymerElement {
  static get properties () {
    return {
      message: {
        type: String,
        value: ''
      },
    };
  }

  constructor() {
    super();
  }

  ready(){
    super.ready();
  }

  static get template () {
    return html`
      <style>
        paper-checkbox {
          --paper-checkbox-checked-ink-color: #FFFFFF;
          --paper-checkbox-unchecked-ink-color: #FFFFFF;
        }
      </style>
      <h1>Start Polymer 3.0</h1>
      <p>[[message]]</p>
      <paper-checkbox id="omgpie">I like pie.</paper-checkbox>
    `;
  }
}

customElements.define('start-polymer3', StartPolymer3);

这里 StartPolymer3 元素转换为聚合物 3 元素,现在我应该在聚合物 2 中写入的另一个元素中使用它。我尝试了下面的聚合物 2 元素,但它不起作用。

 <script type="module">
   import { StartPolymer3 } from '../views/start-polymer3.js';
</script>

<start-polymer3 message="testHello"></start-polymer3>

【问题讨论】:

    标签: polymer polymer-1.0 polymer-2.x polymer-3.x


    【解决方案1】:

    Polymer 3.0 API 几乎 100% 向后兼容 Polymer 2.x — 唯一的变化是删除了与 HTML 导入相关的 API(例如 importHref),并将 Polymer 的 API 转换为基于模块而不是基于全局的 API。 这里相关link

    【讨论】:

    • 我在导入时遇到错误Relative references must start with either "/", "./", or "../" 我没有使用聚合物服务来编译,而是使用运行应用程序node index.html是否可以在不使用聚合物服务/构建的情况下解决此问题
    • 我不确定,但您可以设置添加到 index.html 中的应用程序的基本路径,例如:` `
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    相关资源
    最近更新 更多