私は、Auth /データベースとしてFirebaseを使用するAngularでIonicアプリを構築しています。Firebaseオブジェクトをフェッチしてローカルオブジェクトに等しく設定するにはどうすればよいですか?
私のアプリでは、ユーザーはさまざまなものやオブジェクトを作成できます。私はそれらのオブジェクトを取って、配列に入れます。だから私はオブジェクトの配列で終わる。ユーザーは、そのローカルリスト内のものを削除したり、変更したり、新しいものを追加することができます。
私が望むのは、(正常に保存した)オブジェクトをFirebaseにフェッチし、オブジェクトとして戻すことです。私はFirebaseを初めて使っていて、それはapiなので、ちょっと立ち往生しています。ここでFirebaseからオブジェクトを取得するために私のコードです:私はすべてのFirebaseドキュメント上で読んで、私は何snapshot.val()
リターンを把握カント
fetchList() {
const user = this.authService.getActiveUser();
if (user != null) {
return firebase.database().ref(user.uid + '/lists').once('value')
.then(snapshot => {
return snapshot.val();
})
.catch(err => {
return err;
});
}
}
。オブジェクトや何を返しますか?そうであれば、オブジェクトのローカル配列を再構築するためにオブジェクトを解析する必要がありますか?
これはFirebaseのデータの構造例です。 0は配列インデックスです。私は基本的にオブジェクトの配列を渡し、Firebaseはこのように格納します。今、私はそれを取得し、オブジェクトの私のローカル配列にそれが等しくなるように設定したいので、ユーザは
+ Sidfnh450dfFHdh989490hdfh
- DFjghd904hgGHdhfs9845hfh0
- lists
- 0
hasProperty1: false
isProperty2: false
otherProperty: 'string stuff here'
title: 'List Title'
+ 1
+ 2
を持つことができますそれとも私が間違っている、このすべてに約つもりです。おそらく、双方向のデータバインディングに似た魔法のFirebaseメソッドが存在するかもしれません。ローカルオブジェクトアレイでFirebaseを変更しても、その逆も同様です。何かアドバイスをいただきました。
編集
また、私はローカルでやっている何かは、配列を並べ替えています。私のアプリは何らかの種類のリストであり、ユーザーはリスト内のオブジェクトを並べ替えることができます。したがって、がにFirebaseとの同期リストを持っていて、誰かがリスト内のいくつかのオブジェクトを並べ替えた場合、オブジェクトベースの配列全体を削除せずに新しい配列を書き込むことなくFirebaseで並べ替える方法がわかりませんインデックス。
ケニーあなたは角度2/4かAngularJSを使用していますか?もしAngular2/4が 'anglefire2' NPMパッケージを調べるならば。それはfirebaseへの統合をはるかに簡単にします。 – sketchthat
3ウェイデータバインディングを使用するので、配列をローカルに格納する必要はありません。 すべてがfirebaseデータベースと同期しています。 https://github.com/angular/angularfire2 – sketchthat
まあ、私はローカルでやっていることがいくつかあります。私はそれがanglefire2やfirebaseでできないと思っています。それは配列の並べ替えです。私は何かを真ん中から取り出し、いくつかのポジションを下げるかもしれません。 – Kenny