我正在尝试从 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(使用前将#替换为@)