从“ angularfire2 /数据库”导入{AngularFireDatabase,FirebaseListObservable}

时间:2018-12-28 11:35:42

标签: javascript typescript firebase angularfire2 angular7

我正在遵循一年前制作的教程,当我遵循时,我遇到了一些似乎已经过时的代码。我搜索了一些解决方案,但可悲的是它并不能解决我的问题。 因此,是否有更新的方式编写以下代码?

import {AngularFireDatabase, FirebaseListObservable} from 'angularfire2/database';
import { AngularFireAuth } from "angularfire2/auth";
import { Observable } from "rxjs/Observable";

这是打印出来的错误。

  

node_modules / rxjs / Observable.d.ts(1,15)中的错误:错误TS2307:找不到模块“ rxjs-compat / Observable”。   src / app /聊天表格/聊天表格.component.ts(16,15):错误TS2339:类型“ ChatService”上不存在属性“ sendMessage”。   src / app / services / chat.service.ts(2,30):错误TS2305:模块'“ C:/ Users / Gabriel / stack / School / HVA / JAAR 2 / YOUTUBE TYPESCRIPT TUTORIAL / MyAngularApplication / We-chat / node_modules / angularfire2 / database / index“'没有导出的成员'FirebaseListObservable'。   src / app / services / chat.service.ts(4,10):错误TS2305:模块'“ C:/ Users / Gabriel / stack / School / HVA / JAAR 2 / YOUTUBE TYPESCRIPT TUTORIAL / MyAngularApplication / We-chat / node_modules / rxjs / Observable“'没有导出的成员'Observable'。

2 个答案:

答案 0 :(得分:1)

据此:

  

模块'“ C:/ Users / Gabriel / stack / School / HVA / JAAR 2 / YOUTUBE TYPESCRIPT TUTORIAL / MyAngularApplication / We-chat / node_modules / angularfire2 / database / index”'没有导出的成员'FirebaseListObservable'

似乎您使用的是angularFire 5.0,那么您需要检查followingFirebaseListObservable已从软件包中删除并已弃用。您需要执行以下操作:

import { AngularFireDatabase } from 'angularfire2/database';

constructor(afDb : AngularFireDatabase) 
{
  afDb.list<Item>('items').valueChanges().subscribe(console.log);
}

如果您仍然想使用FirebaseListObservable,则需要从'angularfire2/database-deprecated'导入

检查此处以查看软件包angularfire2/database-depracted中的所有类:

https://github.com/angular/angularfire2/tree/master/src/database-deprecated

答案 1 :(得分:0)

是的,您可能正在使用angular 5,已将其删除并替换为AngularFireList 尝试用AngularFireList替换FirebaseListObservable。