【发布时间】:2017-06-09 21:38:38
【问题描述】:
我想要一个我定义的自定义元素在 Polymer 2 中具有 Polymer.IronScrollTargetBehavior。
在 Polymer 1 中,这可以通过将其添加到 behaviors 数组来完成:
Polymer({
is: 'my-element',
behaviors: [Polymer.IronScrollTargetBehavior]
});
在 Polymer 2 upgrade guide 中,它说您应该:
将“行为”实现为mixins that return class expressions。
在链接的文章中,它解释了如何为 mixins 使用以下语法:
let MyMixin = (superclass) => class extends superclass {
foo() {
console.log('foo from MyMixin');
}
};
class MyClass extends MyMixin(MyBaseClass) {
/* ... */
}
我主要了解这里发生的事情(尽管我发现很难理解 mixin 语法),并且我可以获取示例代码来工作。
我无法将这个概念应用到Polymer.IronScrollTargetBehavior,并为它创建一个mixin。由于该行为已经被定义为一个对象,我不知道该放在哪里。
那么,如何在这种情况下实现正确的 mixin,或者如果我走错了路,如何将定义的 Polymer 行为之一应用到 Polymer 2 中的自定义元素?
【问题讨论】:
标签: javascript polymer polymer-2.x