【发布时间】:2016-10-19 23:00:20
【问题描述】:
非常感谢您阅读此问题。已经挣扎了一段时间,如果有人指出我在这里做错了什么,那就太好了。
我从 firebase 获取结果并尝试将其保存在用户模型中,但出现此错误
未捕获的类型错误:无法将属性“用户”设置为 null。
import { Component, OnInit, EventEmitter, Output } from '@angular/core';
import { User } from '../user.ts';
import { UserComponent } from './user.component';
declare var firebase: any;
@Component({
moduleId: module.id,
selector: 'trafford-user-list',
templateUrl: 'user-list.component.html',
styleUrls: ['user-list.component.css'],
directives: [ UserComponent ]
})
export class UserListComponent implements OnInit {
private users: User[] = [{ name: 'sosk', email: 'dfdok', password: 'asdf'}];
private user: User;
@Output() selected = new EventEmitter<User>();
constructor() { }
ngOnInit() {
this.getUsers();
}
getUsers() {
firebase.database().ref('accounts').on('value', function(snapshot) {
this.users = snapshot.val();
});
}
onSelected(user: User) {
this.selected.emit(user);
}
}
当我尝试在控制台中编写响应时,它的工作原理。但是 this.users 在该 firebase 回调中没有任何作用域。我对 Angular 很陌生,任何帮助将不胜感激。
【问题讨论】:
标签: javascript angular firebase firebase-realtime-database