- Firebase 教程
- Firebase - 主页
- Firebase - 概述
- Firebase - 环境设置
- Firebase - 数据
- Firebase - 数组
- Firebase - 写入数据
- Firebase - 写入列表数据
- Firebase - 写入事务数据
- Firebase - 读取数据
- Firebase - 事件类型
- Firebase - 分离回调
- Firebase - 查询
- Firebase - 过滤数据
- Firebase - 最佳实践
- Firebase - 电子邮件身份验证
- Firebase - 谷歌身份验证
- Firebase - Facebook 身份验证
- Firebase - Twitter 身份验证
- Firebase - Github 身份验证
- 匿名认证
- Firebase - 离线功能
- Firebase - 安全
- Firebase - 部署
- Firebase 有用资源
- Firebase - 快速指南
- Firebase - 有用的资源
- Firebase - 讨论
Firebase - 事件类型
Firebase 提供了多种不同的事件类型来读取数据。下面描述了一些最常用的。
价值
第一个事件类型是value。我们在上一章中向您展示了如何使用价值。每次数据更改时都会触发此事件类型,并且它将检索包括子项在内的所有数据。
子添加
此事件类型将为每个玩家触发一次,并且每次将新玩家添加到我们的数据中时都会触发一次。它对于读取列表数据很有用,因为我们可以从列表中访问添加的玩家和上一个玩家。
例子
让我们考虑下面的例子。
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); });
我们将得到以下结果。
如果我们添加一个名为 Bob 的新玩家,我们将获得更新的数据。
孩子改变了
当数据发生更改时会触发此事件类型。
例子
让我们考虑下面的例子。
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来获取更新。
子节点已移除
如果我们想访问已删除的数据,我们可以使用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 以获取通知。