更新:在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/[email protected]/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
,但这似乎也没有被调用。我究竟做错了什么?
我看看 0.6.5的update-element.js文件甚至没有进行数组转换。看着0.6.5的npm包也没有提到数组。
但是master分支确实映射了数组类型,并在自述文件中提到了它。如果您将其拉出并直接使用,它将为您工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句