聚合物網站says聚合物中使用'extend'屬性不支持多重繼承(或合成)。我想要一個元素由一個Polymer元素的一些方法組成,另一個來自另一個Polymer元素,以使其反映應用程序邏輯。目前有什麼方法可以在Polymer中實現? (就像使用javascript mixins做的那樣)聚合物多重繼承/合成
5
A
回答
7
聚合物現在支持混入:
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
更多信息here
2
我不能說聚合物夥伴的推理,但它通常被認爲優於use composition over inheritance。
+0
謝謝,你說得對。但我的意思是同樣的事情,即Polymer中的組成機制是什麼,但是我使用強大的「基於類的繼承」的術語是誤導性的。我會稍微編輯一下問題,使其更加清晰。 – sepans
+0
我也想看到這個問題的答案。我建議發佈另一個問題。 –
1
0
聚合物支持密新概念用於克服多重繼承的概念。
例子:
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();
}
}
我希望這對您有所幫助。
相關問題
- 1. 嵌套聚合物模板的繼承
- 2. 繼承VS聚合
- 3. 生成maven項目繼承/聚合圖
- 4. 聚合和繼承關係
- 5. Maven繼承和聚合
- 6. 重寫聚合物1.0片段到聚合物2
- 7. 多種功能 - 聚合物
- 8. 聚合物2.0太多ifs
- 9. 科爾多瓦聚合物
- 10. C++多重繼承的功能合併
- 11. Elasticsearch聚合或多重聚合
- 12. 將繼承改爲合成
- 13. 數組中的聚合繼承
- 14. Maven的:從聚合器繼承
- 15. vb.net - 繼承類的對象聚合
- 16. 繼承和聚合類屬性
- 17. C++:聚合,繼承和指針
- 18. 繼續使用聚合物1.x或等待聚合物2.x可用?
- 19. 聚合物
- 20. 在「聚合物
- 21. 飛鏢,聚合物建造失敗,無法找到聚合物/聚合物。
- 22. 聚合物2.0:聚合物1.0雜化元素不適用於聚合物2.0?
- 23. 如何創建含有其他聚合物成分的聚合物成分
- 24. 繼承的繼承集合
- 25. LINQ化合物聚合
- 26. 集合繼承
- 27. 聚合物從JavaScript
- 28. Dart +聚合物+ google_maps
- 29. 聚合物模塊
- 30. 聚合物與Angularjs
我還想知道,如果不允許多繼承是因爲實現的複雜性或設計決策? – sepans