1

FirstNameすべてのとのリストを表示できるようにしたいZipCodes。私のデータは次のようになります。

/user
|
|__INAxzxWKQrSAfA7tapV0c08YvfJ3
|   |____FirstName:"James"
|   |____ZipCode:"90210"
|
|__ANAczxWKQrEAfA7tapV0c08YvfX6
    |____FirstName:"Simon"
    |____ZipCode:"40213"

Polymerfireのfirebaseドキュメントは次のようになります

<firebase-document
    app-name="contacts"
    path="/user"
    data="{{allUsers}}">
</firebase-document>

そして、私のdomの繰り返しは

<template is="dom-repeat" items="{{_makeArray(allUsers)}}">
    <div class="profile card">
        {{item.FirstName}} 
    </div>
</template>

機能を追加しました

_makeArray: function(items) {
  return Object.keys(items).map(function (key) {items[key]});
}

エラーはありませんが、DOM にも何も得られません

4

5 に答える 5

1

firebase-document の代わりに firebase-query を使用してください。配列が返されます。

<firebase-query
  app-name="contacts"
  path="/user"
  data="{{allUsers}}">
</firebase-query>

<template is="dom-repeat" items="{{allUsers)}}">
  <div class="profile card">
    {{item.FirstName}} 
  </div>
</template>
于 2017-01-06T15:50:08.000 に答える
0

dom-repeat は、items プロパティとして配列を取ります。次のようなことができます。

<template is="dom-repeat" items="[[makeArray(allUsers)]]">

...

makeArray: function(items) {
  return Object.keys(items).map(function (key) {items[key]});
}
于 2016-10-23T19:18:37.917 に答える
0

あなたはリターンを忘れました:

_makeArray: function(items) {
  return Object.keys(items).map(function (key) { return items[key]; });
}

私と一緒にうまく動作します。データは問題なく表示されます。

于 2016-11-12T15:43:30.777 に答える
0

より良い実装 (必要に応じてキーの名前も含む) は、次の場所にあります。

Polymer 1.0 で配列の代わりにオブジェクトで dom-repeat を使用するには?

また、双方向バインディングの実装:

dom-repeat での Firebase 配列の双方向バインディング

Firebase が宣伝されているため、これが Polymer 2.0 で実装されることを願っていますが、ベスト プラクティスの Polymer とベスト プラクティスの Firebase を一緒に使用すると問題が発生します。

于 2017-01-01T20:20:26.280 に答える