有没有办法知道在什么情况下调用 Child Added ?特别是页面加载与其他事件

2023-12-05

这是我的场景。当通过浏览器事件页面加载后添加子项时,我想在标题中指出它。但在页面加载时,也会调用添加的子项。

如何区分添加的初始子项与实际添加的新条目的子项。

谢谢,蒂姆


Firebase 故意不区分“初始”数据和“新”数据。在大多数情况下,这允许更简单的开发,因为您只需为数据编写一组逻辑,而不是同时处理初始数据情况和新数据情况。

我明白您希望在这种情况下如何区别。我不确定你到底在做什么,但如果你正在构建一个聊天应用程序,你可能希望根据最新消息的时间戳来闪烁标题,而不是根据它是否是“新”消息。如果在页面加载之前发送了一条消息,这将允许标题在页面加载时闪烁,这可能是可取的。在其他一些情况下,您可能实际上想要闪烁未读数据的标题,并且您可能需要考虑将子项标记为“已读”,并仅针对未显示“已读”位的子项闪烁标题。这将使事情能够在页面刷新之间无缝工作。

如果您绝对需要知道“新”数据何时出现,您可以尝试使用“once”和“value”事件类型来获取数据,然后使用“on”和 startAt 查询和“child_added”事件类型之后显示新数据。它看起来像这样:

var data = new Firebase(...);
data.once("value", function(d) {
  //TODO: display initial state...

  data.startAt(null, <last id in snapshot>).on("child_added", function(newMessSnapshot) {
    //TODO: render new child and flash title bar.
  }
}

或者如果你想这样做really简单的方法是,您只需设置一个计时器,这样标题就不会在页面加载的前 N ​​秒内收到的任何消息闪烁。

希望有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法知道在什么情况下调用 Child Added ?特别是页面加载与其他事件 的相关文章

随机推荐

  • print_r() 将属性添加到 DateTime 对象[重复]

    这个问题在这里已经有答案了 考虑以下代码示例 m oDate new DateTime 2013 06 12 15 54 25 print r m oDate echo m oDate gt date 从 PHP 5 3 开始 这会产生 类
  • 如何重定向 stdout 和 stderr 流(多平台)?

    我正在编写使用外部库的 GL 应用程序 它将错误打印到控制台 我想捕获它并在游戏控制台中打印 PS 抱歉 我的英语不好 您可以采取两种基本方法来实现此目的 如果库都使用std cout对于你想要捕获的 IO 你可以写你自己的basic st
  • 尝试混合 CSV 和哈希表中的数据来创建变量

    我停在代码审查 询问我如何简化脚本 并建议使用哈希表因为它会清理代码 我得到了一个非常基本的例子 但事实并非如此即插即用 我已经编写了一些基本代码 但它没有做我认为应该做的事情 我知道代码审查人员不会提供这样的支持 所以我在这里寻求有关组合
  • 如何在运行时检查子类是否是类的实例? [复制]

    这个问题在这里已经有答案了 在 Android 应用程序测试套件中 我有一个这样的类 其中B是一个视图 public class A extends B etc 现在我有一个视图对象列表 其中可能包含A对象 但在这种情况下我只关心它们是否是
  • 如何一次选择多个联系人?

    我使用以下代码将电话簿联系人检索到我的应用程序 public void onCreate Bundle savedInstanceState super onCreate savedInstanceState setContentView
  • 在 Twitter Bootstrap 模式中动态加载谷歌地图

    我正在尝试在 Twitter 引导程序的模式窗口内动态添加地图 但它似乎不起作用
  • 在 Apache Camel 中动态加载路由的最佳方法

    我们开发了基于 Karaf 和 A pache Camel 的应用程序 虽然我们的应用程序完全基于包 OSGI 但我们还在启动时加载Camel上下文 及其 路由上下文 这意味着我们已经定义了一些静态路由 我的问题是 有没有一种方法可以在应用
  • 为什么 Json.NET 序列化会因 [Serialized] 和只读属性内的 lambda 而失败?

    根据这些发行说明 Json NET 现在支持 SerializedAttribute Json NET 现在可以检测具有 SerializedAttribute 的类型 并序列化该类型上的所有字段 公共字段和私有字段 并忽略这些属性 我有以
  • 如何使用 Selenium 设置隐藏输入的值?

    我已经看过了this但没有运气 我试过那个例子 它说undefined browserbot 我也尝试过简单的 browser navigate to http example com browser execute script hidd
  • Git 拉取时忽略文件

    我是 github 的新手 我正在开发一个应用程序 它有config php您必须输入数据库凭据的文件 在我的 github 存储库中 文件如下所示 但在网站上我有带有凭据的文件 In th
  • 如何在主项目中包含多个 Xcode 项目

    我最近问过使用多个 Xcode 项目的智慧分离项目组件 我决定在我的下一个项目中遵循这条路线 我尝试通过将另一个项目拖放到侧边栏来将其添加到主 Xcode 项目中 但是 当我 import 添加的项目中定义的任何类时 我被告知找不到这些类
  • JAVA 6x6 网格填色游戏

    大家好 我现在进入最后一部分 即文件读取 我尝试编写一个 fileReader 但似乎没有更改变量 rNum 的值 关于为什么以下陈述不会改变的任何想法 谢谢 public void readStartFile String fileNam
  • Android 4.0+ 与嵌入式设备的蓝牙连接错误:“权限被拒绝”

    我有以下设置 Android 设备使用 客户端 套接字连接到远程嵌入式设备 Android 应用程序使用以下代码片段连接到嵌入式设备 在嵌入式设备上使用MindTree BT堆栈 其中服务器串行套接字是根据设备中的一些属性准备的 这是And
  • 在 SAS 中将宽转为长,无需额外的列

    我想转置数据集 但 SAS 坚持添加新列 如果 by 列 有多个条目 所以如果我跑 data test input a b c datalines 1 aaa bbb 1 bbb bbb 2 ccc ccc 3 ccc ccc run pr
  • `fullVisitorId` => clientId,一对多映射?

    我的印象是fullVisitorId只是 clientId 的哈希值 两者之间应该存在一对一的映射 但在这里 我遇到的情况是很少有人fullVisitorId被映射到两个不同的client Id 我们正在将 GA 客户端 ID 收集到用户范
  • 超链接的路径仅为正斜杠 (/)

    我被要求对朋友的公司网站进行一些更改 它使用 PHP 插入文件作为每个页面的标题 这很有用 因为每个页面上的导航等都是相同的 以下代码指定每个页面上的公司徽标 div a href a div 如您所见 href of the a标签包含o
  • 如何在项目的 Scala 构建定义中定义包后面的目录结构?

    sbt 项目中有两个完整的构建定义文件 Build scala and Helpers scala 他们位于project folder 我想放Helpers模块到单独的子文件夹中project utils 当我做import utils
  • Pandas DataFrames 与 NaN 相等比较

    在对某些函数进行单元测试的背景下 我尝试使用 python pandas 建立 2 个 DataFrame 的相等性 ipdb gt expect 1 2 2012 01 01 00 00 00 00 00 NaN 3 2013 05 14
  • 是否可以使用 Inno Setup 接受自定义命令行参数

    我正在使用 Inno Setup 准备安装程序 但我想添加一个额外的自定义 没有可用参数 命令行参数 并希望获取参数的值 例如 setup exe do something 检查是否 do被给定 然后得到某物的价值 是否可以 我怎样才能做到
  • 有没有办法知道在什么情况下调用 Child Added ?特别是页面加载与其他事件

    这是我的场景 当通过浏览器事件页面加载后添加子项时 我想在标题中指出它 但在页面加载时 也会调用添加的子项 如何区分添加的初始子项与实际添加的新条目的子项 谢谢 蒂姆 Firebase 故意不区分 初始 数据和 新 数据 在大多数情况下 这