【发布时间】: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 foritems, found Object {}跨度> -
如果您的订单中有多个元素,它将返回一个数组
-
好的,可以使用
firebase-query。谢谢萨拉赫尔丁。
标签: javascript arrays firebase firebase-realtime-database polymer