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

时间:2017-12-30 08:39:10

标签: firebase-realtime-database ionic3 observable angularfire2

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

到目前为止我做了什么:

app.module.ts

  1. 我已导入AngularFireDatabaseModule并在imports
  2. import { AngularFireDatabaseModule } from 'angularfire2/database';

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

    career.ts

    1. 我导入AngularFireDatabase, AngularFireList,在AngularFireDatabase中注入了constructor
    2. import { AngularFireDatabase, AngularFireList } from 'angularfire2/database';

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

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

        companies: AngularFireList<any>;

        1. 最后,我在构造函数中完成了这个。
        2. this.companies = this.database.list('/company').valueChanges();

          this.companies显示错误。视图加载列表,但问题是仍然有错误,我不知道发生了什么。这是我将鼠标悬停在this.companies上时显示的内容: enter image description here

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

1 个答案:

答案 0 :(得分: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();

参考文档here