更新:在https://github.com/Polymer/lit-element/issues/411提交了一个错误
鉴于指南中的信息,我无法为属性实现默认和自定义转换器。在当前版本(0.6.5)中,它说您可以将类型分配给Array
属性,它将自动从属性的字符串值解析为 JSON,但情况似乎并非如此,如代码示例。
这是问题的说明。在控制台中,它应该报告一个包含三个元素的数组,但它返回一个包含一个元素的数组,即包含属性值的字符串。render 方法的结果也只显示了一个<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]"/>
我还尝试通过提供 a 来修改示例converter
,但这似乎也没有被调用。我究竟做错了什么?