从 Firebase 数据库读取和显示数据

2024-01-10

我正在尝试从 firebase 数据库检索数据并将数据存储在我在课堂上定义的课程数组中。

到目前为止我已经得到:

import { AngularFireDatabase, AngularFireList } from 'angularfire2/database';
import { Router } from '@angular/router';
import { Component, OnInit } from '@angular/core';
import { AngularFireAuth } from 'angularfire2/auth';

@Component({
  selector: 'app-home-page',
  templateUrl: './home-page.component.html',
  styleUrls: ['./home-page.component.css']
})
export class HomePageComponent implements OnInit {


  courses:any[];


  constructor(public afAuth: AngularFireAuth,private router:Router,private db:AngularFireDatabase) { }

  ngOnInit() {

    if(this.afAuth.auth.currentUser){


        var ref = this.db.database.ref('/courses');

        ref.on("value", this.gotData, function (error) {
          console.log("Error: " + error.code);
        });


    }else{      
      this.router.navigate(['/login']);
    }

  }

  gotData(data){
    var x = data.val();
    console.log(x);
    this.courses = x; // >>>>>>>>>>>>>>>>>  ISSUE HERE
  }


}

但是我收到此错误消息:

FIREBASE 警告:用户回调引发异常。类型错误: 无法将属性“课程”设置为 null

and

错误类型错误:无法将属性“课程”设置为空

我能够成功地控制台记录数据..但我想存储这些数据..我该怎么做?


错误消息告诉你this一片空白。为了确保它被保留,定义gotData作为箭头函数:

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

从 Firebase 数据库读取和显示数据 的相关文章

  • 如何修改primeng p日历样式?

    我正在尝试修改 primeng p calendar 但它无法正常工作 例如 我希望它是这样的 需要的改变 https i stack imgur com QBXoh png 但原来它看起来像这样 原始图像 https i stack im
  • 从 Angular 2 动态表单的 API 设置值

    我正在尝试开始在 Angular 2 中创建动态表单 并且我正在使用 Angular 食谱中的设置here https angular io docs ts latest cookbook dynamic form html作为我的起点 我
  • 如何将 zingchart 实现到 Angular2 中

    我有一个现有的项目 我想在其上实施 zingcharts 我尝试了 3 个不同的教程 主要来自 https blog zingchart com 2016 07 19 zingchart and angular 2 charts back
  • 如何知道哪个用户正在尝试登录?

    用户是使用电子邮件和密码创建的 这就是我进行注册的方式 mSignup setOnClickListener new View OnClickListener Override public void onClick View v mEma
  • 如何使用 Web 套接字和 Angular CLI 设置代理

    我有一个使用 Angular CLI 构建的简单 Web 应用程序 我希望它使用网络套接字与后端通信 我已经编写了后端 并使用一个简单的 index html 页面进行了测试 服务器可以在套接字上发送和接收该页面 在我的 angular c
  • 在执行下一个函数之前等待 for 循环完成

    我需要等待 for 循环完成才能开始使用 experimentArray 在继续使用实验数组之前 我如何等待完成 我尝试过承诺 异步等待等 let experimentArray for i 0 i lt this state gameRo
  • 使用 Observable 与 Immutable 进行变更检测

    所以我读了本文 http victorsavkin com post 110170125256 change detection in angular 2关于 Angular 2 变更检测 但读完之后我变得更加困惑 所以我开始阅读一些导致更
  • 如何在每个组件完成加载后在 Angular 2 中运行 jquery 函数

    我已经尝试了所有生命周期挂钩 但无法实现所需的结果 我需要的结果是触发一个函数 该函数在加载每个元素 组件 后初始化用于单个页面上不同元素的许多 jquery 插件 假设你有这个结构 主页 滑块 小部件 产品旋转器 ETC 这些元素中的每一
  • Angular 8 Native Typescript 无崩溃,访问器简写

    角8 我曾经在打字稿方面用作简短的黑客 object accessor accessor accessor to get object accessor accessor accessor 如果其中一个子级为空 则不会冒抛出错误的风险 根据
  • Firestore 更新后仅获取文档一次

    我有一个 tableView 它从 Firestore 集合中获取所有文档 并且我只想在用户刷新 tableView 后将最后一个文档添加到 Firestore 时获取一次 然后我想删除侦听器 以便当用户刷新 tableView 时仅获取文
  • 如何将 Laravel 5.4 与 Angular 4 集成

    我知道如何创造完整的拉拉维尔 5 4自己的项目 我也知道如何使用创建 SPA角4 Problem 我不知道如何将 Laravel 与 Angular 集成 另外 我想使用 Laravel 5 4 作为后端 使用 Angular 4 作为前端
  • aspnetcore 出现角度错误 NodeInitationException:节点调用在 60000 毫秒后超时

    我在用着yo generator aspnetcore spa一旦我运行应用程序 我就遇到了问题 处理请求时发生未处理的异常 NodeIncationException 节点调用在 60000 毫秒后超时 您可以通过设置更改超时持续时间 N
  • Firestore 中的多租户

    关于基于子集合值查询数据的实际限制 在 Firestore 中管理多租户的建议方法是什么 我希望能够检索和限制对与用户所属实体 公司相关的数据的访问 数据结构示例 companies companyId users companies co
  • Cloud Functions for Firebase - 通过 Nodejs/Cloud Function 将多个 PDF 合并为一个

    我遇到了一个问题 我试图通过云功能合并一堆 PDF 然后将合并的 PDF 下载到用户的计算机上 我的提供程序中有一个函数 它调用云函数并传递指向 pdf 的 URL 数组 如下所示 mergePDFs pdfs Create array o
  • 对预检请求的响应未通过访问控制检查:响应中“Access-Control-Allow-Credentials”标头的值为“”

    我正在 Angular 6 和 asp net core 上使用 SignalR 功能 但不断收到此错误对预检请求的响应未通过访问控制检查 响应中 Access Control Allow Credentials 标头的值为 当请求的凭据模
  • Firebase 身份验证问题 - 通过电子邮件地址检查用户是否存在

    我在 Firebase 上创建了一个帐户 它有效 但现在我想阻止人们使用已存在的电子邮件地址创建帐户 这是代码 DatabaseManager shared userExists with email completion weak sel
  • 为 Node.js 客户端应用程序保留 Firebase 用户

    我正在使用 Firebase 构建 Node js 命令行界面 CLI 用于与后端进行身份验证 我想避免让用户每次运行命令时都输入密码 相反 我想实现一个 登录 流程 将凭证保留到文件系统 该凭证可用于后续的无密码身份验证 直到用户 注销
  • 聆听 Angular 2 中的元素可见性

    我正在为我的网络应用程序使用 Bootstrap 和 Angular 2 v4 我想监听指令中的元素以了解可见性变化 我的元素有一个可以隐藏其子元素的父元素hidden sm up我需要在每次隐藏或显示时触发一个函数 div hidden
  • Angular 模板验证表单

    我正在研究表单验证 我正在使用模板驱动的验证表单 其编码如下 现在工作正常 但是当我尝试添加时 username ngModel and password ngModel 在创建验证类的输入中 它向我显示一个错误 也请找到该错误 div c
  • 模块中的类无法加载

    我正在开发一个 2D Unity android 游戏 其中我最近添加了 Firebase Beta SDK 但添加后FirebaseAnalytics unitypackage我面临的错误是 无法加载模块中的类 当我删除文件夹时Fireb

随机推荐

  • Swift Core 数据与 Web 服务器同步

    我正在制作一个应用程序 在 Swift 中 需要在离线和在线模式下运行 当处于离线模式时 数据将存储在本地 CoreData 上 一旦检测到网络 在线 它应该与服务器同步并更新后端数据库 应该怎样做呢 有库或 Pod 吗 我见过这个帖子 h
  • 批量从文件中读取多行

    我想知道是否有一种方法可以从文件中批量读取多行 例如 with open filename rb as f for n lines in f process n lines 在这个函数中 我想做的是 对于每次迭代 将从文件中批量读取接下来的
  • UITableViewAutomaticDimension 无法按预期工作。迅速

    读完雷 文德利希之后guide https www raywenderlich com 1067 self sizing table view cells对于 自动调整表格视图单元格大小 以及这个问题 https stackoverflow
  • 设置 pygame 混合器的输出设备

    我需要使用 pygame 通过不同的音频设备播放音频文件 显然这可以通过参数来实现devicename在方法中pygame mixer init https www pygame org docs ref mixer html pygame
  • 如果其他变量为 NA,则设置新变量 NA

    我想向我的数据框添加一个新变量 N notNAs 它定义其他变量是否为 NA x y z N notNAs 2 3 NA NA NA 1 3 NA 2 3 5 1 4 4 3 1 不确定为什么这是您想要的输出 但实现此目的的一种可能方法是将
  • Apache Web 服务器不允许我刷新 /about 但在 localhost 上工作正常

    我捆绑了我的一个项目 效果很好 但是 当在路由 about 上点击刷新时 它会显示请求的 URL about 在此服务器上未找到 但是 当我在 Web 服务器上的本地主机上执行此操作时 它在刷新和前进 后退按钮上工作正常 我正在使用 Rea
  • 即使服务器收到成功消息,也无法在我的设备中接收 GCM 消息

    我从 gcm 收到了作为对 Web 服务器 本地主机 的响应的成功消息 但设备未收到该消息 请帮忙 下面是我使用的代码 主要活动 package vitpat placement import java io IOException imp
  • SWT:获取系统设备更改的通知(USB 设备连接/断开)

    我正在编写一个 SWT 应用程序 该应用程序需要位于系统托盘中 并在用户连接某些 USB 设备时自动弹出 该应用程序用作其控制面板 在本机环境 在本例中为 win32 但我最终应该与平台无关 中执行此操作的方法是侦听 WM DEVICECH
  • 在 Django 视图中向 Postgres 添加用户/帐户表

    前往编辑2 在views py中调用以下adduser函数 我首先保存用户 因为它的 id 由 Django 在 INSERT 时自动创建 是帐户和密码的主 外键 添加用户似乎工作正常 但是当它到达时Accounts user u 抛出以下
  • 可以在不更改键盘语言的情况下为文本框设置拼写检查语言吗?

    我正在使用 C 和 Net 4 0 并且希望在不更改键盘布局的情况下为文本框设置不同的拼写检查语言 我通过阅读此处的精彩帖子发现可以更改 InputLanguage CurrentInputLanguage 来更改文本框的拼写检查语言 但这
  • 使用git作为集中版本服务器

    我目前在工作中使用svn 我们的设置是 每个人都有一个工作副本 并且我们致力于由 apache2 提供服务的 svn 服务器 所以我提交了更改 其他更新 每个人都可以按照自己的意愿处理副本 所以部署起来非常容易 但现在 我想做同样的事情 但
  • 从不同订阅下创建的映像创建 Azure VM

    有没有办法备份虚拟机 按照 sysprep 方法捕获图像 然后使图库中的该图像对其订阅下的人员可见 例如 我创建一个虚拟机 将其存档到图像库 然后我的同事出现并想要从该图像创建一个虚拟机 该同事不能是我的订阅的共同管理员 或者 是否有一种方
  • UICollectionViewFlowLayout 不使用整体框架

    我最近开始使用 UICollectionView 对 UICollectionViewFlowLayout 有点困惑 集合视图中每个单元格的框架似乎是在每个项目之间的间距相等的情况下计算的 这会导致某些单元格的帧具有分数位置 这会导致标签模
  • 如何对 find 的输出执行“for every”?

    我想找到所有mp41920x1080 的文件 If I do find type f name mp4 exec ffprobe 2 gt 1 它会找到所有mp4文件并显示视频信息 例如 输出将包含 以及其他行 Input 0 mov mp
  • Fortran 90 中双精度的最大数组大小是多少?

    抱歉 如果这不是做这个问题的正确位置 这不是关于编程的问题 而是一个技术问题 我需要处理大量双精度二维向量数组 大约有 1000 万个 但是 在其他程序中 我在处理这种数组时遇到了内存问题 我的问题是双精度数组大小是否有某种限制 我在 Li
  • jquery select2如何使选择后不关闭

    使用 多值选择框 时http ivaynberg github io select2 http ivaynberg github io select2 每次选择后选择框都会回落 有没有办法不这样做 以便用户可以选择其中的几个而不需要额外单击
  • 如何在 C# 中以管理员模式启动进程[重复]

    这个问题在这里已经有答案了 我有一个 Visual Studio Windows 应用程序项目 我添加了代码来下载安装程序更新文件 下载完成后 安装程序需要管理员权限才能运行 我添加了一个清单文件 当用户单击 DownloadUpdate
  • 如何在新创建的 .NET Core 2.0 Web 应用程序中以 .NET Standard 2.0 为目标?

    我刚刚使用创建了一个新项目dotnet new web 我的 Google foo 可能让我失望 但我没有找到与我的答案相关的任何内容 如果我错过了一些明显的东西 请链接到另一个 SO 答案或相关文档 如果我想确保这个新项目符合 NET S
  • 有没有一种简单的方法可以在 VB.NET 中随机化列表?

    我有一个类型列表System IO FileInfo 我想随机化列表 我想我记得看到过类似的东西list randomize 不久前 但我找不到我在哪里见过的 我第一次涉足这个领域 得到了这个函数 Private Shared Sub Ge
  • 从 Firebase 数据库读取和显示数据

    我正在尝试从 firebase 数据库检索数据并将数据存储在我在课堂上定义的课程数组中 到目前为止我已经得到 import AngularFireDatabase AngularFireList from angularfire2 data