【问题标题】:dom-repeat Firebase data in PolymerPolymer 中的 dom-repeat Firebase 数据
【发布时间】:2017-01-22 19:08:12
【问题描述】:

我有一个模板,它从 Firebase 实时数据库返回一个金额,它被正确映射,并在 path="/orders" 时返回一个值。但是,当我将路径更改为 path="/orderHistory/[[user.uid]]" 并在该位置存储相同的数据结构时,不会返回任何内容。

user auth 对象已正确填充,因为我有其他元素使用此模式正确返回数据。

  <firebase-auth user="{{user}}"></firebase-auth>
  <firebase-document path="/orders" data="{{orders}}"></firebase-document>

  <template is="dom-repeat" items="{{_toArray(orders)}}">
    <p3>{{item.amount}}</p3>
  </template>

...

_toArray: function (orders) {
     return Object.keys(orders).map(function (key) {
       return {
         date: Date(key),
         amount1: orders[key]['Item']['Amount']
       };
     });
   }

...

我正在尝试存储和返回订单数据... JSON结构如下:

{
  "1473829170599" : {
    "0" : {
      "Item" : {
        "Amount" : 16,
        "QR" : "Bw16Bb14Ni17",
        "Quantity" : 2
      }
    },
  "hasFabbed" : 0,
  "hasPaid" : 0,
  "hasShipped" : 0
}

如何为具有 Polymer 的 dom-repeat 模式的用户返回购物车数据?

【问题讨论】:

  • 首先,你不需要 _toArray 方法,firebase 会为你返回一个数组。其次,在这种情况下,您需要使用 firebase-query 而不是 firebase-document,它应该可以工作。
  • 那是我最初的策略,我让这个模式适用于一个简单的笔记存储/检索,但现在有了这个购物车我收到一个错误:[dom-repeat::dom-repeat]: expected array for items, found Object {}跨度>
  • 如果您的订单中有多个元素,它将返回一个数组
  • 好的,可以使用firebase-query。谢谢萨拉赫尔丁。

标签: javascript arrays firebase firebase-realtime-database polymer


【解决方案1】:

使用&lt;firebase-query&gt; 而不是&lt;firebase-document&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多