2017-10-13 23 views
6

我跟随this tutorial关于如何连接angular与firebase数据库。但在17:30分我得到这个错误:AngularFIRE Property'subscribe'on type'AngularFireList <{}>'

住宅 '订阅' 上不存在型 'AngularFireList < {}>'

我AppComponent:

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

import {AngularFireAuth, AngularFireAuthModule} from 'angularfire2/auth'; 
import { Observable } from 'rxjs/Observable'; 
import * as firebase from 'firebase/app'; 
import { Country } from './models/country'; 

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

export class AppComponent { 
    countries: any[]; 

    constructor(db: AngularFireDatabase) 
    { 
    db.list('/Country/countries') 
    .subscribe(countries => { // <--ERROR IS HERE 
     this.countries = countries; 
     console.log(this.countries); 
     }); 
    } 
} 

我型号:

export class Country { 
    // --ATTRIB-- 
    id: string; 
    name: string; 
    code: string; 
    urlFlag: string; 
} 

无法找到任何关于此错误的信息。我是角度初学者。谢谢,如果可以帮助我。

回答

10

从AngularFire 5.0开始,你会想要使用snapshotChanges(),valueChanges<T>(),stateChanges()auditTrail()之一。 See the 5.0 migration guide

开始使用最基本的,valueChanges()

export class AppComponent { 
    countries: Observable<Country[]>; 
    constructor(db: AngularFireDatabase) { 
    this.countries = db.list('/Country/countries').valueChanges(); 
    } 
} 
+0

“更新作品!” ; d –

4

一个简单的变化将是补充: valueChanges() 前: .subscribe()

db.list('/Country/countries').valueChanges().subscribe(countries => { 
    this.countries = countries; 
    console.log(this.countries); 
}); 
0

尝试下一个:

export class AppComponent { 
    countries: any[]; 

    constructor(db: AngularFireDatabase) 
    { 
     this.countries = db.list('/Country/countries').valuesChanges(); 
    } 
} 

如果你有一个模型,然后:

export class AppComponent { 
    countries: Country[]; 

    constructor(db: AngularFireDatabase) 
    { 
    this.countries = db.list<Country>('/Country/countries').valueChanges(); 
    } 
} 
相关问题