AngularFire 更新破坏了应用程序
AngularFire update breaks the app
我一直在关注 Traversy Media 在 Udemy 上的 Angular4 course,一切顺利,直到我到达客户端的 AngularFire2 设置和客户端服务 部分面板项目。 Webpack 无法编译说明:
FirebaseListObservable 和 FirebaseObjectObservable 没有导出成员。
看到有几个人提similar issues on GitHub,但是想不出怎么解决。我还尝试了讲师提供的确切代码(这是最后的手段,因为我宁愿自己弄清楚),但这也没有用。 Angularfire2版本为:4.0.0-rc.1
错误信息:
这是 client.service.ts 文件:
import { Injectable } from '@angular/core';
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable} from 'angularfire2/database';
import { Observable } from 'rxjs';
import { Client } from '../models/Client';
@Injectable()
export class ClientService {
clients: FirebaseListObservable<any[]>;
client: FirebaseObjectObservable<any>;
constructor(
public af:AngularFireDatabase
) {
this.clients = this.af.list('/clients') as FirebaseListObservable<Client[]>;
}
getClients(){
return this.clients;
}
newClient(client:Client){
this.clients.push(client);
}
getClient(id:string){
this.client = this.af.object('/clients/'+id) as FirebaseObjectObservable<Client>;
return this.client;
}
updateClient(id:string, client:Client){
return this.clients.update(id, client);
}
deleteClient(id:string){
return this.clients.remove(id);
}
}
这是唯一在 VS Code linter 中显示错误的文件:
提前感谢您提供任何有用的见解。
在过去的几个版本中,有 3 种不同的方法来导入数据库观察值。
版本 < 4.0:
import { AngularFire, FirebaseListObservable, FirebaseObjectObservable } from "angularfire2";
版本 > 4.0:
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable } from "angularfire2/database";
版本 > 5.0:
因为 5.0
你可以使用正常的 observables
来代替,或者像这样从不推荐使用的目录导入它:
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable } from "angularfire2/database-deprecated";
我建议您将版本从 rc
升级到 4.0
或其他版本。
我一直在关注 Traversy Media 在 Udemy 上的 Angular4 course,一切顺利,直到我到达客户端的 AngularFire2 设置和客户端服务 部分面板项目。 Webpack 无法编译说明: FirebaseListObservable 和 FirebaseObjectObservable 没有导出成员。
看到有几个人提similar issues on GitHub,但是想不出怎么解决。我还尝试了讲师提供的确切代码(这是最后的手段,因为我宁愿自己弄清楚),但这也没有用。 Angularfire2版本为:4.0.0-rc.1
错误信息:
这是 client.service.ts 文件:
import { Injectable } from '@angular/core';
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable} from 'angularfire2/database';
import { Observable } from 'rxjs';
import { Client } from '../models/Client';
@Injectable()
export class ClientService {
clients: FirebaseListObservable<any[]>;
client: FirebaseObjectObservable<any>;
constructor(
public af:AngularFireDatabase
) {
this.clients = this.af.list('/clients') as FirebaseListObservable<Client[]>;
}
getClients(){
return this.clients;
}
newClient(client:Client){
this.clients.push(client);
}
getClient(id:string){
this.client = this.af.object('/clients/'+id) as FirebaseObjectObservable<Client>;
return this.client;
}
updateClient(id:string, client:Client){
return this.clients.update(id, client);
}
deleteClient(id:string){
return this.clients.remove(id);
}
}
这是唯一在 VS Code linter 中显示错误的文件:
提前感谢您提供任何有用的见解。
在过去的几个版本中,有 3 种不同的方法来导入数据库观察值。
版本 < 4.0:
import { AngularFire, FirebaseListObservable, FirebaseObjectObservable } from "angularfire2";
版本 > 4.0:
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable } from "angularfire2/database";
版本 > 5.0:
因为 5.0
你可以使用正常的 observables
来代替,或者像这样从不推荐使用的目录导入它:
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable } from "angularfire2/database-deprecated";
我建议您将版本从 rc
升级到 4.0
或其他版本。