angular2 监听 Firebase 的变化
angular2 listening for changes with Firebase
我是 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");
});
}
和returns一个错误this.af.database is not a function
。
您正在使用具有 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。
我是 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");
});
}
和returns一个错误this.af.database is not a function
。
您正在使用具有 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。