我试图从检索数据Angularfire:“^ 5.0.0-rc0”使用服务,并且想返回将结果传递给使用此服务的组件,并且组件应将firebase的结果打印到html文件。从AngularFire检索数据:“^ 5.0.0-rc0”使用服务组件的HTML文件
虽然我在控制台中得到了正确的响应,但不知道如何获取组件的html文件中的数据,但我正在面临因异步检索Firebase数据而引发的问题。
请注意:FirebaseObjectObservable<any[]>;
不会angularfire的当前版本的工作,下面是我的文件:
跳闸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 。:
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() {
}
}
你能告诉我如何?我是新的可观察和订阅功能,以及如何在模板中使用异步?这将是真正有帮助 –
文档有一个很好的例子:https://github.com/angular/angularfire2/blob/master/docs/rtdb/objects.md – funkizer
我喜欢做的东西像