Я хотел бы создать новый элемент Polymer, который расширяет собственный элемент HTML (скажем, div
), поэтому я мог бы использовать <div is="my-div">
, но наследовал бы поведение от другого элемента Polymer (my-list
). Я добился этого:
<polymer-element name="my-list">
<template>
<style>
:host {
background-color: #EEE;
display: block;
border: 1px solid black;
}
</style>
<content></content>
</template>
<script>
Polymer('my-list', {
color: "red",
ready: function() {
console.info("my-list is ready!");
this.children[0].style.color = this.color;
}
});
</script>
</polymer-element>
<polymer-element name="my-div" extends="div">
<script>
(function() {
var myListProto = Polymer.getRegisteredPrototype("my-list");
var myDivProto = Polymer.extend({}, myListProto);
myDivProto.color = "blue";
Polymer('my-div', myDivProto);
}());
</script>
</polymer-element>
Работающий jsFiddle находится здесь.
Проблема в том, что my-list
стили не применимы к my-div
.
Есть ли способ унаследовать их? Или я должен сделать такое расширение каким-то другим способом?