J'essaie de récupérer des données de Angularfire: "^ 5.0.0-rc0" en utilisant un service, et que vous voulez retourner le résultat pour le composant utilisant ce service, et le composant doit imprimer le résultat depuis firebase vers le fichier html.Récupération de données à partir d'AngularFire: "^ 5.0.0-rc0" vers le fichier HTML du composant en utilisant le service
Je suis confronté à un problème en raison de la récupération asynchrone des données de Firebase, bien que j'obtienne une réponse correcte dans la console, mais je ne sais pas comment obtenir les données dans le fichier html de mon composant.
S'il vous plaît noter: FirebaseObjectObservable<any[]>;
ne fonctionnera pas dans la version actuelle de angularfire, suivant mes fichiers:
trip-data.service.ts:
import { Injectable } from '@angular/core';
declare var firebase: any;
import { Http, Response } from '@angular/http';
import { AngularFireDatabase, AngularFireObject } from 'angularfire2/database';
import { Observable} from 'rxjs/Observable';
@Injectable()
export class TripDataService {
finalItems;
public data: Array<any> =[];
public myData: any[] =[];
constructor(db: AngularFireDatabase) {
db.object('/').snapshotChanges().map(action => {
this.finalItems = { ...action.payload.val() };
return this.finalItems;
}).subscribe(item => {
console.log(item);
this.myData = item;
console.log(this.myData);
}
);
}
}
list.component .ts:
import { Component, OnInit } from '@angular/core';
import { TripDataService } from '../trip-data.service';
import { AngularFireDatabase, AngularFireObject } from 'angularfire2/database';
import { Observable} from 'rxjs/Observable';
@Component({
selector: 'app-list',
templateUrl: './list.component.html',
styleUrls: ['./list.component.css'],
providers: [TripDataService]
})
export class ListComponent implements OnInit {
trips;
constructor(service: TripDataService) {
// this.trips = service();
this.trips = service.myData;
console.log(this.trips);
}
ngOnInit() {
}
}
Pouvez-vous me montrer comment? Je suis nouveau aux fonctions observables et abonnez-vous et aussi comment utiliser async dans le modèle? Il serait vraiment utile –
Docs ont un bon exemple: https://github.com/angular/angular/iref/2/blob/master/docs/rtdb/objects.md – funkizer
J'aime faire des choses comme