升级到 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);
})
我将 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);
})