升级到 AngularFire 5.0

Upgrading to AngularFire 5.0

我将 ionic 3 与 firebase 结合使用。

到目前为止,我使用的是 angularfire 4.0,下面的代码为我提供了一个可观察到的来自 firebase 的数据:

  obsToData: FirebaseObjectObservable<any>;

  constructor(public nav: NavController, public shared: SharedProvider, 
              public DB: AngularFireDatabase) {

              this.obsToData = DB.object('/myData');
  }

现在,根据this页面FirebaseObjectObservable删除,我需要使用AngularFireObject代替,我如何获取数据?

我做了以下更改:

obsToData: AngularFireObject<any>;

  constructor(public nav: NavController, public shared: SharedProvider,
              public DB: AngularFireDatabase) {

              this.obsToData = DB.object('/myData');
  }

但我找不到从这个新对象获取可观察对象到我的 firebase 数据的方法。

有人成功使用angularfire 5.0吗?

您需要使用 valueChanges() 从 AngularFireDatabase 对象引用中获取 Observable。

obsRef: AngularFireObject<any>;
obsToData: Observable<any>;

  constructor(public nav: NavController, public shared: SharedProvider,
              public DB: AngularFireDatabase) {

              this.obsRef = DB.object('/myData');//reference
              this.obsToData = this.obsRef.valueChanges();//Observable
  }

编辑获取数据并保存,像任何可观察的一样订阅

  this.obsToData.subscribe(data=>{
       console.log(data);
  },error=>{
       console.log(error);
  })