从Firebase数据库对象中获取价值

时间:2018-01-14 21:09:55

标签: angular typescript firebase firebase-realtime-database

我只是想从我的firebase数据库中获取用户名值并将其显示在控制台日志语句中,但我在执行此操作时遇到了问题。这是我到目前为止所做的。

现在它所做的只是获取对象而不是实际的子值。如何获取子值以便显示它。

enter image description here

getUsername.ts

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams} from 'ionic-angular';
import { AngularFireAuth } from 'angularfire2/auth';
import { AngularFireDatabase, FirebaseObjectObservable, FirebaseListObservable  } from 'angularfire2/database';

@IonicPage()
@Component({
  selector: 'page-profile-setup',
  templateUrl: 'profile-setup.html',
})
export class ProfileSetupPage {
  profileData: FirebaseObjectObservable<Profile>

  constructor(private afAuth: AngularFireAuth, private afDatabase: AngularFireDatabase) {

  showUsername($event) {
    let data = this.profileData = this.afDatabase.object(`profile/`)
    console.log(data.username);
  }
 }
}

2 个答案:

答案 0 :(得分:0)

您必须先订阅数据并将其放在一个对象中才能使用数据。

答案 1 :(得分:0)

定义名为 user(username, age) 的模型(接口)并导入 getUsername.ts。而且您还需要传递唯一的 userid 作为参数。

showUsername($event) {
    let data = this.afDatabase.object(`profile/`+<string>userid);
    data.valuechanges().subscribe( user => console.log(user.username));
  }