更新: https://github.com/Polymer/lit-element/issues/411でバグを報告
ガイドに記載されている情報では、プロパティのデフォルトおよびカスタム コンバーターの実装に問題があります。現在のバージョン (0.6.5) ではArray
、プロパティに型を割り当てることができ、属性の文字列値から自動的に JSON として解析されると書かれていますが、記載されているようにそうではないようです。コードサンプル。
これが問題の図です。コンソールでは、3 つの要素を持つ配列を報告する必要がありますが、属性値を含む文字列である 1 つの要素の配列を返します。render メソッドの結果も、1<p>
つの文字列を含む 1 つの要素だけを示します。
<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
が、それも呼び出されないようです。私は何を間違っていますか?