0
anglefire 2に新しく問題があります。私はfirebaseの雲の中に貯蔵されているレストランのセットを持っています。私は正確にレストランのリストを取得し、それを表示することができていますが、私は別の変数に特定のレストランにアクセスし、保存しようとすると、それは私がからデータを取得するように見えるカントれ、観察を返します。anglefire2スナップショットデータ
items: Observable<any[]>;
tester: any[] = [];
private test: AngularFirestoreCollection<any>;
constructor(db: AngularFirestore){
this.test = db.collection<any>('restaurants')
// this.items = db.collection('restaurants').valueChanges();
this.items = this.test.snapshotChanges().map(actions => {
return actions.map(a => {
const data = a.payload.doc.data();
this.tester.push(data); //This returns an observable instead of an array
const id = a.payload.doc.id;
return { id, ...data };
});
});
}
getRestaurants(){
return this.items;
}
//Here I want to be able to return the item object
getRestaurant(index){
console.log(this.tester[i]);
}
コンポーネントのコード
constructor(private restService: RestaurantService){}
restaurants = <any>[];
selectedRestaurant: any;
ngOnInit(){
this.restaurants = this.restService.getRestaurants()
}
onSelect(index){
console.log(this.restService.getRestaurant(index));
}
イム私はfirebaseから返された観察可能なリストからデータを抽出することができます方法を理解するのに苦労。
snapshot()を使用する必要がありますか? valuechanges()は使いやすいためです。私はあなたに例を挙げることができます – Makah