Javascript 向类传递参数

Javascript 向类传递参数,javascript,ecmascript-6,polymer,es6-class,polymer-2.x,Javascript,Ecmascript 6,Polymer,Es6 Class,Polymer 2.x,我正在尝试为Polymer 2.0组件(基于类的语法)创建一个mixin,如下所示。有没有办法像我现在这样把选项传给全班同学 聚合物元素定义和混合物: class PodcastListView extends PolymerApolloBehavior(Polymer.Element, myOptions) { //some code } mixin类: export const PolymerApolloBehavior = (superclass, options) =>

我正在尝试为Polymer 2.0组件(基于类的语法)创建一个mixin,如下所示。有没有办法像我现在这样把选项传给全班同学

聚合物元素定义和混合物:

class PodcastListView extends PolymerApolloBehavior(Polymer.Element, myOptions) {
   //some code 
}
mixin类:

export const PolymerApolloBehavior = (superclass, options) => class extends superclass {
    constructor() {
       console.log(options);
    }
}

我可以建议您为您的PodcastListView类创建一个函数包装器,它将创建一个具有新行为的新类。它看起来像这样:

export const PolymerApolloBehavior = (original, options) => {
  let result = Object.assign({}, original)
  const originalConstructor = result.prototype.constructor
  result.prototype.constructor = () => {
    console.log(options) // your behavior
    originalConstructor() // original constructor
  }
  // any changes of class
  return result
}
现在,您可以应用您的新行为:

export default PolymerApolloBehavior(PodcastListView, {behaviorOptions})