Как расширить несколько элементов с помощью Polymer
Я знаю, что есть этот вопрос намножественное наследование / состав, Тем не менее, кажется, что этот вопрос больше о том, как повторно использовать функциональность из нескольких существующих элементов в других элементах. И, очевидно, решение для этого - миксин.
Я хотел бы знать, как я могу «украсить» существующие элементы, не позаимствовав у них функциональности. Мы знаем, что есть этоextends
свойство, которое можно использовать для расширения существующего элемента с помощью Polymer.
Так что нормальный<button>
вести себя какmega-button
так же просто, как прикрепление<button is="mega-button">
и написать компонент для него. Но оказывается, что это невозможноextend
несколько элементов. Так что-то вродеextends="foo bar"
не работает Что, если я хочу создать веб-компонент, который на самом деле можно применить к различным элементам?
Например, я не хочу расширять<button>
элементы сmega-button
но, вероятно, также<a>
элемент, так что он выглядит и ведет себя какmega-button
тоже?
Миксиновый подход здесь не очень помогает (насколько я понимаю), потому что он не делает ничего, кроме предоставления общей логики для различных веб-компонентов. Это означает, что вы создаете несколько компонентов и повторно используете логику (упакованную в миксин) из миксина.
Что мне нужно, это способ создатьодин веб-компонент, который может быть применен кмножественный элементы.
Есть идеи, как это решить?
ОБНОВИТЬ
Адди ответила несколькими подходами, чтобы справиться с этим вариантом использования. Вот следующий вопрос, основанный на одном подходе
Как узнать, какой элемент будет расширен, при регистрации моего в Polymer
И еще один наМожно ли совместно использовать миксины между веб-компонентами (и импортом) в Polymer?
ОБНОВЛЕНИЕ 2
Я написал статью и завершил свой опыт и знания о наследовании и композиции с полимером:http://pascalprecht.github.io/2014/07/14/inheritance-and-composition-with-polymer/