Mixins作为Polymer 2.0中的实用程序库

我正在使用Polymer 2.0制作的Web应用程序项目中,所有自定义元素都扩展了一些Mixins。 这些Mixin中的一些仅为自定义元素提供实用功能,就像Date Time Utility函数或任何数学相关函数一样。 我的问题是,是否使用mixins并将它们扩展到自定义元素,或者只是将它们包装在普通的java脚本文件中,并将该java脚本文件加载到index.html或应用程序的入口点,并将其用作全局范围,就像我们使用lodashjs或underscore.js。

我发现Mixin的问题在于它总是适用于每个自定义元素类对象的原型链,所以我最终得到了与我的应用程序的每个自定义元素相同的实用工具方法。

请建议我最好的方法在聚合物相关的应用程序的公用事业。


这是一个相当棘手的问题,要正确回答......真正的答案只是“两者都是有效的解决方案 - 取决于您的使用案例”。 我认为这并没有太大的帮助。 所以让我们给你一些背景。

对于真正的实用程序,最好将它们作为静态函数放在类中。

class MathHelper {
  static addOne(value) {
    return value + 1;
  }
}

class ElOne extends HTMLElement {
  connectedCallback() {
    this.innerHTML = `5 + 1 = ${MathHelper.addOne(5)}`;
  }
}

customElements.define('el-one', ElOne);
<el-one></el-one>
链接地址: http://www.djcxy.com/p/817.html

上一篇: Mixins as utility library in Polymer 2.0

下一篇: Remove drop shadow of an ImageView