2

更新: 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が、それも呼び出されないようです。私は何を間違っていますか?

4

1 に答える 1

1

見てみました。0.6.5 の updates-element.js ファイルには、配列の変換さえありません。また、0.6.5 の npm パッケージを見ると、配列についても言及されていません。

ただし、マスター ブランチは配列型をマップし、readme に記載されています。引っ張って直接使用すればうまくいくはずです。

于 2019-01-02T08:49:47.317 に答える