类型'Observable <{} []>'Ionic Firebase中缺少属性'query'

Reo*_*Lim 2 observable firebase-realtime-database angularfire2 ionic3

所以我尝试了Josh Morony关于如何在Ionic中处理Firebase的教程:https://www.joshmorony.com/building-a-crud-ionic-2-application-with-firebase-angularfire/

到目前为止我做了什么:

app.module.ts

  1. 我已经进口AngularFireDatabaseModuleimports.

import { AngularFireDatabaseModule } from 'angularfire2/database';

imports: [ BrowserModule, AngularFireModule.initializeApp(config), AngularFireDatabaseModule


career.ts

  1. 我进口AngularFireDatabase, AngularFireList,注入AngularFireDatabaseconstructor.

import { AngularFireDatabase, AngularFireList } from 'angularfire2/database';

constructor(public navCtrl: NavController, private database: AngularFireDatabase)


  1. 我还在构造函数之前添加了一个var

companies: AngularFireList<any>;


  1. 最后,我在构造函数中做了这个.

this.companies = this.database.list('/company').valueChanges();


this.companies显示错误.视图加载列表,但问题是仍然有错误,我不知道发生了什么.这是我在鼠标悬停时显示的内容this.companies: 在此输入图像描述

我真的希望你们中的任何人能够向我解释发生了什么以及如何解决这个错误.真的很抱歉,非常感谢你.

Sur*_*Rao 5

在AngularFire2中,有两种要注意的Object类型.

this.database.list('/company')属于类型AngularFireList<any> this.database.list('/company').valueChanges()给出Observable<any[]>.

如果需要对两者的引用,可以执行以下操作:

this.companiesRef:AngularFireList<any>;
this.companies:Observable<any[]>;
//...
//while accessing,
this.companiesRef = this.database.list('/company');
this.companies = this.companiesRef.valueChanges();
Run Code Online (Sandbox Code Playgroud)

这里参考文档