Firebase:如何使用表更改子项?

时间:2016-08-01 17:20:12

标签: javascript firebase firebase-realtime-database

我不确定child_changed如何与表格一起使用。 child_added将用于填充表格,但是当数据发生某些变化时,如何识别哪一行需要更新?

官方文档建议child_addedchild_changedchild_removed一起使用,但我不确定后者2将如何运作。

  

每次修改子节点时都会触发child_changed事件。这包括对子节点后代的任何修改。它通常与child_added和child_removed事件一起使用,以响应对项列表的更改。传递给事件侦听器的快照包含子级的更新数据。

我能想到的只是存储ID和行数据,然后监听更改,然后存储ID并相应地更改行数据。

1 个答案:

答案 0 :(得分:1)

如果您像我一样,那么您可以使用数据ID作为数据中的键。 EG:

{   “顾客”:     {       “62562”:         {            “名字”:“乔博客”         }     } }

firebase.database().ref('/customers/62562').on('value', function(snapshot){
    console.log(snapshot.val());
});

上面的代码为您提供了对“/ customers / 62562”中包含的数据的更改,但您不知道它来自何处。如果您想了解customerId,您需要查看快照的参考:

var customerId = snapShot.ref.key         returns '62562'

您甚至可以进一步了解分支机构,找出哪个分支机构拥有此客户

var parentName = snapShot.ref.parent.key         returns 'customer'