在Polymer 2.x中使用Polymers自己的行为

Nic*_*asR 8 polymer polymer-2.x

我正在试验Polymer 2.x,我不理解的是如何在Polymer 2.x中使用Polymers自己的行为,iron-resizable-behavior作为一个例子.

Polymer 2.0升级指南告诉我们,对于我们自己的组件,我们应该使用类表达式mixin.这很好,但聚合物自身行为呢?他们是否正在被重写为mixins,还是会保持不变?有一种Polymer.mixinBehaviors方法似乎允许我使用Polymer 1.x mixins.这是最终解决方案还是中间步骤?

换句话说:聚合物行为是否被认为是聚合物2.x虽然我们被告知使用mixins作为我们自己的组件?

资料来源:

https://www.polymer-project.org/2.0/docs/upgrade#upgrading-to-class-based-elements

在聚合物2中应用JS Mixins的行为

cod*_*key 10

class MyElement extends Polymer.mixinBehaviors([Polymer.IronFormElementBehavior], Polymer.Element) { ... }
Run Code Online (Sandbox Code Playgroud)


Eko*_*ama 6

我认为Polymer有一个API.我想是的dedupingMixin.下面是一个如何为您自己的行为创建mixin以及如何在元素类中使用它的示例.

var MyBehaviorMixin = Polymer.dedupingMixin(function(superClass){
  return class MyBehavior extends superClass {
    constructor() {
      super();
    }

    methodInBehavior() {
      return "this method is defined in Behavior";
    }
  }
}
class MyElement extends MyBehaviorMixin(Polymer.Element){
  constructor(){
    super();
    console.log(this.methodInBehavior());
  }
}
Run Code Online (Sandbox Code Playgroud)