Polymer 和 Polymerfire 非常新。我在这里找不到答案,所以希望我能在这里得到帮助。我的基本问题是“我如何处理 polymerfire/firebase-query 发送的数据?” 注意我使用的是polymerfire 0.9.4 版,而polymer 是1.4.0 版。
我可以使用 Firebase 查询从 Firebase 加载我的数据,但是其中一些值是我需要转换为用户友好信息的原始数字。例如,我有一个以毫秒为单位的存储时间,我想将其转换为日期,还有一个数字字段,指示存储的数据的“类型”,我想为其显示一个图标,而不仅仅是一个原始数字。我认为我最好的选择是使用交易完成承诺或观察者。两者都开火,但似乎都没有让我访问数据。观察者的 newData 是一个空数组,并且交易完成.. 好吧,当承诺触发时,我真的不知道该怎么做。下面是我的相关代码。我也尝试使用 notify: true,但我似乎没有正确理解这个概念。
<firebase-query
id="query"
app-name="data"
path="/dataPath"
transactions-complete="transactionCompleted"
data="{{data}}">
</firebase-query>
<template is="dom-repeat" items="{{data}}">
<div class="card">
<div>Title: <span>{{item.title}}</span></div>
<div>Date Created: <span>{{item.dateCreated}})</span></div>
<div>Date Modified: <span>{{item.dateModified}}</span></div>
<div>Status: <span>{{item.status}}</span></div>
</div>
</template>
Polymer({
is: 'my-view1',
properties: {
data: {
notify: true,
type: Object,
observer: 'dataChanged'
}
},
dataChanged: function (newData, oldData) {
console.log(newData[0]);
// do something when the query returns values?
},
transactionCompleted: new Promise(function(resolve, reject) {
// how can I access "data" here?
})`