Polymer 网站说在 Polymer 中使用“扩展”属性不支持多重继承(或组合)。我希望一个元素由一个 Polymer 元素的一些方法和另一个 Polymer 元素的一些方法组成,以使其反映应用程序逻辑。目前有什么方法可以在 Polymer 中实现它吗?(就像使用 javascript mixins 一样)
问问题
1141 次
3 回答
7
Polymer 现在支持 mixin:
var mixinObj = {
foo: function() {
/* ... */
}
};
var mixinObj2 = {
foo2: function() {
/* ... */
}
};
Polymer('my-component', Polymer.mixin({ // Platform.mixin for polymer version < 0.5
bar: function() {
/* ... */
this.foo(); // all the functions in mixinObjs are now accessible through 'this'
this.foo2();
}
}, mixinObj, mixObj2); // Platform.mixin accepts multiple mixin objects
更多信息在这里
于 2014-06-09T20:33:57.630 回答
2
我无法说出 Polymer 人的推理,但通常认为使用组合比继承更可取。
于 2014-05-14T20:40:09.727 回答
0
Polymer 支持 Mixin 概念以克服多重继承概念。
例子 :
Class ElementOne extends Polymer.Element {
ready() {
super.ready();
}
}
Class ElementTwo extends Polymer.Element {
ready() {
super.ready();
}
}
Class ElementThree extends ElementOne(ElementTwo(Polymer.Element)) {
ready() {
super.ready();
}
}
我希望它对你有帮助。
于 2018-01-25T13:40:13.227 回答