2

更新:在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,但这似乎也没有被调用。我究竟做错了什么?

4

1 回答 1

1

我看了看。0.6.5 更新元素.js 文件甚至没有转换为数组。并且查看 0.6.5 的 npm 包,它也没有提到数组。

但是主分支确实映射了数组类型,并且在自述文件中提到了它。如果你拉它并直接使用它,它应该对你有用。

于 2019-01-02T08:49:47.317 回答