我想要一个我定义的自定义元素,以便Polymer.IronScrollTargetBehavior在Polymer 2中使用.
在Polymer 1中,可以通过将其添加到behaviors数组中来完成:
Polymer({
is: 'my-element',
behaviors: [Polymer.IronScrollTargetBehavior]
});
Run Code Online (Sandbox Code Playgroud)
在Polymer 2 升级指南中,它说你应该:
将"behavior"实现为返回类表达式的mixins.
在链接的文章中,它解释了如何使用以下语法进行mixins:
let MyMixin = (superclass) => class extends superclass {
foo() {
console.log('foo from MyMixin');
}
};
class MyClass extends MyMixin(MyBaseClass) {
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
我主要得到的是这里发生的事情(尽管我发现mixin语法难以理解),我可以获得示例代码.
我无法做到的是应用这个概念Polymer.IronScrollTargetBehavior,并为它创建一个mixin.由于该行为已经被定义为一个对象,我不知道在哪里适合它.
那么,如何在这种情况下实现正确的mixin,或者如果我走错路径,如何将一个已定义的Polymer行为应用于Polymer 2中的自定义元素?