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
廣告