我是Firebase的新手,我想收听数据库中的更改。
这就是我试过的
constructor(
private af:AngularFire,
){
this.af.database().ref('registered').on('value', function(snapshot) { //syntax error
console.log("changed");
});
}
如何使用Firebase和angular2听取更改?
我也试过设置OnInit
OnInit(){
this.af.database().ref('registered').on('value', function(snapshot) {
console.log("changed");
});
}
并返回错误this.af.database is not a function
。
答案 0 :(得分:2)
您正在使用带有Firebase SDK语法的Angularfire。
使用AngularFire,您必须使用以下内容:
import {Observable} from 'rxjs/Observable';
items: Observable<any[]>;
constructor(af: AngularFire) {
this.items = af.list('/registered');
}
如果您只想使用Firebase sdk,可以这样做(假设您的项目中有firebase文件):
import firebase from 'firebase';
constructor(){}
OnInit(){
firebase.database().ref('registered').on('value', snapshot => {
console.log('changed');
})
}
如评论中所述,可以订阅一个observable以便在其中执行另一个函数。该函数将被执行,直到可以取消订阅observable。