数据未从 Firebase 数据库中检索

Data is not retrieving from Firebase database

这是我的组件。我不知道为什么没有从 firebase 检索数据。谁能告诉我这段代码哪里错了?

import { Component, OnInit, Input, ViewChild } from '@angular/core';
import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database';

@Component({
  selector: 'app-dashboard',
  templateUrl: './dashboard.component.html'
})
export class DashboardComponent implements OnInit {
  tasks: FirebaseListObservable<any[]>;

  constructor(
    public afdb: AngularFireDatabase
  ) { 
      this.tasks = this.afdb.list('scheduler/')
      console.log("Console", this.tasks);      
  }

  ngOnInit() {
   }

}

当我执行这段代码时,我得到了这个控制台 -

 {query: Reference, update: ƒ, set: ƒ, push: ƒ, remove: ƒ, …}
 auditTrail
 :
 ƒ (events){query: Reference, update: ƒ, set: ƒ, push: ƒ, remove: ƒ,      …}
 auditTrail
 :
 ƒ (events)

这段代码的问题是,当您可能想要记录可观察对象正在观察的数据时,您正试图将可观察对象输出到控制台。

所以你可能想要更改:

    console.log("Console", this.tasks);

对此:

    this.tasks.subscribe(items => {
        console.log(items);  
    });

我得到答案的最终代码是-

import { Component, OnInit, Input, ViewChild } from '@angular/core';
import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database';

@Component({
  selector: 'app-dashboard',
  templateUrl: './dashboard.component.html'
})

export class DashboardComponent implements OnInit {
  tasks: FirebaseListObservable<any[]>;

  constructor(
    public afdb: AngularFireDatabase
  ) { 
      this.afdb.list('scheduler/').valueChanges().subscribe(items => {
         console.log("items", items);
      })
  }

  ngOnInit() {
   }
}

您可以使用这种方式从 firebase 检索数据

import { Component, OnInit } from '@angular/core';
import { AngularFireDatabase } from 'angularfire2/database';

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

  constructor(
    private afdb: AngularFireDatabase
  ) { }

  ngOnInit() {
  }
  getData() {
    this.afdb.list('scheduler/').snapshotChanges()
    .subscribe(values=>{
        if(values) {
         values.map(val=>{
           let data = val.payload.val(); //get data
           let uid = val.key;
        });
       }
    });

  }

}