我有这段代码
var dataRef = firebase.database().ref('offers/');
dataRef.once('value').then(function (snapShoot) {
snapShoot.forEach(function (datum) {
keys = datum.key;
var newdataRef = firebase.database().ref('offers/' + keys + '/users');
newdataRef.on('child_added', function (dataSnap) {
Notify("SOME TEXT");
})
})
})`
我使用on('child_added')
在此数据对象here的用户点添加了一个侦听器
并且不幸的是,on('child_added')
正在为第一次执行整个数据而工作,并且表现得像on('value')
我怎样才能让它真正只听取这个节点的子项添加
答案 0 :(得分:1)
我使用了一个标志来解决这个问题
var dataRef = firebase.database().ref('offers/');
var flag = false;
dataRef.once('value').then(function (snapShoot) {
snapShoot.forEach(function (datum) {
keys = datum.key;
var newdataRef = firebase.database().ref('offers/' + keys + '/users');
newdataRef.on('child_added', function (dataSnap) {
if (flag) {
Notify("SOME TEXT");
}
})
flag = true ;
})
})