В следующем примере у меня есть родительский пользовательский элемент, вызывающий дочерний пользовательский элемент. У ребенка есть переменная color
Свойство CSS для p
элементов, которые могут быть определены в родительском CSS.Polymer 1.x: Насколько важно (используя JS) получить значение пользовательского свойства CSS?
В JS дочернего элемента я хочу прочитать значение --custom-color
, выбранное в родительском элементе. В этом случае значение равно yellow
. Иными словами: когда запускается метод getCustomColor()
, я хочу, чтобы в консольном журнале было указано «Ваш пользовательский цвет - желтый».
Какой JavaScript я использую в методе getCustomColor()
для определения ?
<style>
my-child-element {
--custom-color: yellow;
}
</style>
<template>
<my-child-element></my-child-element>
</template>
мой потомок-element.html
<style>
p {
color: var(--custom-color);
}
</style>
<script>
getCustomColor: function() {
var yourColor = // What goes here to obtain the correct value of 'yellow'?
console.log('Your custom color is' + yourColor);
}
</script>
FYI: This documentation describes the custom style API. Но я не могу найти ссылку на то, что я описываю в этом вопросе.
У вас есть ограничение на добавление этой пользовательской подсказки в css ?, а как насчет использования атрибута 'data-' и читать его с помощью. .data ("custom-color") '. Если это не вариант, вы можете прочитать '.css()' prop от элемента и искать свою '--custom-color' prop ... Я бы определенно использовал подход' data', если у вас есть контроль о том, как создается купол. BTW, предложение основано только на функциях/элементах jquery' и 'html'. Я не работал с полимером до –
. Связанные с ним документы действительно упоминают это ... Вам просто нужно проверить 'this.customStyle ['- my-property-name']' и он будет иметь значение свойства – Alan
Я отвечу на это так, чтобы людям было проще найти это. – Alan