簡體   English   中英

從Firebase對模型的angular2保存響應

[英]angular2 saving response from firebase to a model

非常感謝您閱讀此問題。 已經掙扎了一段時間,如果有人指出我在這里做錯了,那將會很棒。

我從firebase獲取結果,並嘗試將其保存在用戶模型中,但出現此錯誤

未捕獲的TypeError:無法將屬性“用戶”設置為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回調中沒有任何作用域。 我對提出任何幫助非常陌生,將不勝感激。

使用箭頭功能( => )保留范圍

  getUsers() {
    firebase.database().ref('accounts').on('value', (snapshot) => {
      this.users = snapshot.val();
    });
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM