Die*_*cio 8 firebase firebase-realtime-database angular-cli angularfire2
我正在按照本教程关于如何将angular与firebase数据库连接起来.但是在第17:30分钟,我收到了这个错误:
'AngularFireList <{}>'类型中不存在属性'subscribe'
我的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);
});
}
}
Run Code Online (Sandbox Code Playgroud)
我的模特:
export class Country {
// --ATTRIB--
id: string;
name: string;
code: string;
urlFlag: string;
}
Run Code Online (Sandbox Code Playgroud)
找不到任何关于此错误的信息.我是棱角分明的初学者.谢谢,如果可以帮助我.
Jam*_*els 20
在AngularFire 5.0开始,你需要使用一个snapshotChanges(),valueChanges<T>(),stateChanges(),或auditTrail().请参阅5.0迁移指南.
开始使用最基本的,valueChanges():
export class AppComponent {
countries: Observable<Country[]>;
constructor(db: AngularFireDatabase ) {
this.countries = db.list('/Country/countries').valueChanges();
}
}
Run Code Online (Sandbox Code Playgroud)
ale*_*lex 13
valueChanges()之前会添加一个更简单的更改 .subscribe()
db.list('/Country/countries').valueChanges().subscribe(countries => {
this.countries = countries;
console.log(this.countries);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14600 次 |
| 最近记录: |