用于Web的fire base中嵌套的child_added事件侦听器

时间:2017-08-19 11:31:43

标签: javascript firebase firebase-realtime-database

我正在使用child_added子事件侦听器来读取特定数据并将它们存储在另一个节点中

database.ref().child('States').on('child_added',function(snap){
    console.log('reached States'+ count);
    count++;
    distref=snap.child('Districts').ref.on('child_added',function(distsnap){
         console.log('reached dists'+ccount);
         ccount++
         database.ref().child('DistrictNames').push().set({
            districtName : distsnap.val().districtName,
        });


    });  
})
  1. 如何在方法完成后使用off方法
  2. 将distref用于存储每个引用的变量覆盖自身吗? 如果是这样,以前的听众会发生什么以及如何分离它们

1 个答案:

答案 0 :(得分:1)

您不需要为区域添加新的听众。由于区域的数据处于某种状态,因此所有数据都已包含在您获得的快照中。

所以:

database.ref().child('States').on('child_added',function(snap){
    snap.child('Districts').forEach(function(distsnap){
         database.ref('DistrictNames').push({
            districtName : distsnap.val().districtName,
        });
    });  
})