热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何管理应用到Firebase数据的动态路径

如何解决《如何管理应用到Firebase数据的动态路径》经验,为你挑选了1个好方法。

我的Firebase中的数据看起来像这样(这是一个基于Javascript的Web应用程序):

bids
    400
        1
            50.00
        2
            60.00
    401
        1
            55.00
        2
            65.00

400和401表示拍卖编号.1和2是指每次拍卖中的单个拍品.第三级是出价金额.

我正在通过观看这样的child_added向用户显示所有出价的列表:

dataRef.child('bids').child(auction).child(lotno).on('child_added', function(data){...});

当应用程序首次加载时,尚未分配拍卖或批号.随着拍卖的进行,拍品编号(甚至可能是拍卖编号)会发生很多次变化.

鉴于此方案,我对如何维护实时投标列表感到困惑.当应用程序首次加载时,我的变量"auction"和"lotno"的值为"undefined",因此我从Firebase收到"无效路径"错误.

如果变量(因此路径)发生变化,我也不确定child_added会发生什么.child_added会在新路径上加载所有现有数据,并从那时开始观察新孩子吗?

关于如何处理应用程序的初始状态的任何建议,其中变量尚未填充?



1> Frank van Pu..:

因为您正在构建这样的查询:

dataRef.child('bids').child(auction).child(lotno).on(...

off每次其中一个action或多个lotno变量发生更改时,您将不得不创建附加新侦听器(并转换现有侦听器).

听起来好像一次只能有一个当前的批次,这可能会使它在您的数据模型中建模更有用:

bids
    400
        1
            50.00
        2
            60.00
    401
        1
            55.00
        current
            65.00

然后,一旦当前批次的出价已经完成,您可以将其"退休"到其正确的批次编号槽并使下一批次成为current.使用这样的数据结构,您的拍卖听众始终可以观看current:

dataRef.child('bids').child(auction).child('current').on(...


Firebase网站上的文档相当完整且易读.关闭听众是通过`off`完成的:https://www.firebase.com/docs/web/guide/retrieving-data.html#section-detaching-callbacks
推荐阅读
  • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
  • 探索Web 2.0新概念:Widget
    尽管你可能尚未注意到Widget,但正如几年前对RSS的陌生一样,这一概念正逐渐走入大众视野。据美国某权威杂志预测,2007年将是Widget年。本文将详细介绍Widget的定义、功能及其未来发展趋势。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • Webpack 初探:Import 和 Require 的使用
    本文介绍了 Webpack 中 Import 和 Require 的基本概念和使用方法,帮助读者更好地理解和应用模块化开发。 ... [详细]
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • 深入解析HTML5字符集属性:charset与defaultCharset
    本文将详细介绍HTML5中新增的字符集属性charset和defaultCharset,帮助开发者更好地理解和应用这些属性,以确保网页在不同环境下的正确显示。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 结城浩(1963年7月出生),日本资深程序员和技术作家,居住在东京武藏野市。他开发了著名的YukiWiki软件,并在杂志上发表了大量程序入门文章和技术翻译作品。结城浩著有30多本关于编程和数学的书籍,其中许多被翻译成英文和韩文。 ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 检查在所有可能的“?”替换中,给定的二进制字符串中是否出现子字符串“10”带 1 或 0 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 本文详细探讨了 jQuery 中 `ajaxSubmit` 方法的使用技巧及其应用场景。首先,介绍了如何正确引入必要的脚本文件,如 `jquery.form.js` 和 `jquery-1.8.0.min.js`。接着,通过具体示例展示了如何利用 `ajaxSubmit` 方法实现表单的异步提交,包括数据的发送、接收和处理。此外,还讨论了该方法在不同场景下的应用,如文件上传、表单验证和动态更新页面内容等,提供了丰富的代码示例和最佳实践建议。 ... [详细]
author-avatar
洪泽湖沟鼠_203
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有