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?
})`