Обновление: Подана ошибка в https://github.com/Polymer/lit-element/issues/411
У меня возникли проблемы с реализацией стандартного и пользовательского конвертера для свойств, указанных в руководстве.В текущей версии (0.6.5) написано, что вы можете присвоить типу Array
свойству, и оно будет автоматически проанализировано как JSON из строкового значения атрибута, но это не таккак описано в примере кода.
Вот иллюстрация проблемы.В консоли он должен сообщить массив с тремя элементами, но он возвращает массив из одного элемента, строку, которая содержит значение атрибута.Результат метода рендеринга также показывает только один элемент <p>
, содержащий одну строку.
<script type="module">
import { LitElement, html } from 'https://unpkg.com/@polymer/lit-element@0.6.5/lit-element.js?module';
class Histogram extends LitElement {
static get properties() {
return {
values: { type: Array }
};
}
constructor() {
super();
this.values = [];
}
render() {
console.log(Array.isArray(this.values), this.values);
return html`
<div>
The elements:
${this.values.map(item => html`<p>item: ${item}</p>`)}
</div>
`;
}
}
customElements.define('x-histogram', Histogram);
</script>
<x-histogram values="[1,2,3]"/>
Я также пытался изменить пример, предоставив converter
, но это тоже не вызывается.Что я делаю не так?