I'm following this tutorial about how to connect angular with firebase database. But in minute 17:30 I'm getting this error:
Property 'subscribe' does not exist on type 'AngularFireList<{}>'
my 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);
});
}
}
My model:
export class Country {
// --ATTRIB--
id: string;
name: string;
code: string;
urlFlag: string;
}
Cant find anything about this error. I'm beginner in angular. Thanks if can help me.
Starting in AngularFire 5.0 you'll want to use one of snapshotChanges()
, valueChanges<T>()
, stateChanges()
, or auditTrail()
. See the 5.0 migration guide.
Get started with the most basic, valueChanges()
:
export class AppComponent {
countries: Observable<Country[]>;
constructor(db: AngularFireDatabase ) {
this.countries = db.list('/Country/countries').valueChanges();
}
}