我怎样才能使用angularfire2获得修改后的子元素值。 所以:
this.af.database.list('/users').subscribe(x =>{
//x is array of users
});
如果只有一个孩子被修改,我会得到每个孩子。
虽然使用这种方法我只能得到修改后的孩子的值,但这似乎不是一种正确的方法:
this.af.database.list('/users')._ref.on('child_changed', c =>{
console.log("child_changed ", c.val());
});
如果我理解正确angualrfire2缓存一个分支并且在任何childevent上发布所有值,那么我必须从流中手动过滤掉修改后的子项。
修改
因为TypeScript编译器可以抱怨私有_ref
标记,所以最好使用嵌入式firebase实例来获取引用:
firebase.database().ref('/users').on('child_changed', c =>{
console.log("child_changed ", c.val());
});
在您的课程定义之外可能需要declare var firebase:any;
。