2017-11-17 8 views
0

도움이 될만한 것이 있으면 알려주십시오. 항목에 대한 키를 얻으려고 시도하지만 먼저 데이터 검색 및 표시.Firebase RT는 4 개의 객체를 반환하지만 3 개만 사용할 수 있습니다.

app.component.ts

import { Component, OnInit } from '@angular/core'; 
import { AngularFireDatabase, AngularFireList, AngularFireObject } from 'angularfire2/database'; 
import { Observable } from 'rxjs/Observable'; 
import 'rxjs/add/operator/map'; 

@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 

export class AppComponent { 
    coursesRef: AngularFireObject<any>; 
    courses: Observable<any>; 

    constructor(db: AngularFireDatabase) { 
    this.coursesRef = db.object('/courses'); 
    this.courses = this.coursesRef.valueChanges(); 

    this.courses.subscribe(course => console.log(course)); 
    } 
} 

app.component.html

<ul> 
    <li *ngFor="let course of courses | async"> 
    {{ course | json }} 
    </li> 
</ul> 

데이터베이스는 3

Returned values

답변

0

I이 포함되어 있지만이 4 개체를 반환 그 대답은 객체가 ngOnInit fu에서 호출되어야한다고 믿습니다. .

app.component.ts

import { Component, OnInit } from '@angular/core'; 
import { AngularFireDatabase, AngularFireList } from 'angularfire2/database'; 
import { Observable } from 'rxjs/Observable'; 
import 'rxjs/add/operator/map'; 

@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 

export class AppComponent implements OnInit { 
    coursesRef: AngularFireList<any>; 
    courses: Observable<any[]>; 

    constructor(private db: AngularFireDatabase) { 
    this.coursesRef = db.list('/courses'); 
    } 

    ngOnInit() { 
    this.courses = this.coursesRef.valueChanges(); 

    this.courses.subscribe(course => console.log(course)); 
    } 
}