Firebase - 事件类型



Firebase 提供多种不同的事件类型用于读取数据。下面介绍一些最常用的事件类型。

value

第一个事件类型是 value。我们在最后一章中向您展示了如何使用 value。每当数据发生更改时都会触发此事件类型,它将检索包括子项在内的所有数据。

child_added

对于每个玩家以及每次将新玩家添加到我们的数据中时,都会触发此事件类型一次。此事件对于读取列表数据非常有用,因为我们可以通过列表访问添加的玩家和前一个玩家。

示例

我们考虑以下示例。

var playersRef = firebase.database().ref("players/");

playersRef.on("child_added", function(data, prevChildKey) {
   var newPlayer = data.val();
   console.log("name: " + newPlayer.name);
   console.log("age: " + newPlayer.age);
   console.log("number: " + newPlayer.number);
   console.log("Previous Player: " + prevChildKey);
});

我们将得到以下结果。

Event Type Child Added Log

如果我们添加一个名为 Bob 的新玩家,我们将获得更新的数据。

Event Type Child Added Updated Log

child_changed

当数据发生变化时,会触发此事件类型。

示例

我们考虑以下示例。

var playersRef = firebase.database().ref("players/");

playersRef.on("child_changed", function(data) {
   var player = data.val();
   console.log("The updated player name is " + player.name);
});

我们可以在 Firebase 中将 Bob 更改为 Maria 以获取更新。

Event Type Child Changed Log

child_removed

如果我们想要访问已删除的数据,可以使用 child_removed 事件类型。

示例

var playersRef = firebase.database().ref("players/");

playersRef.on("child_removed", function(data) {
   var deletedPlayer = data.val();
   console.log(deletedPlayer.name + " has been deleted");
});

现在,我们可以从 Firebase 中删除 Maria 以获取通知。

Event Type Child Deleted Log
广告