Angularfire2错误TS2305

时间:2017-05-03 14:11:18

标签: firebase ionic-framework

我是离子框架世界的新手,现在我正在尝试为学校项目创建一个应用程序。 要在应用程序中保存数据,我将使用firebase(第一次)。我尝试将Angularfire和FirebaseListObservable导入我的.ts文件但是我收到此错误消息:

" TS2305:模块"' C:/ Users / matss / myRecords / node_modules / angularfire2 / index"'没有导出的成员' AngularFire'。

这是我在app.module.ts中的导入

import { AngularFireModule } from 'angularfire2;

export const firebaseConfig = {
apiKey: "blablabla",
authDomain: "blablabla",
databaseURL: "blablabla",
projectId: "blablabla",
storageBucket: "blablabla",
messagingSenderId: "blablabla"
};

这是我在excersises.ts中的代码,它提供了错误消息:

import { AngularFire, FirebaseListObservable } from 'angularfire2';

  constructor(private navParams: NavParams, public nacCtrl: NavController, af: AngularFire){
this.records = af.database.list('/records');

}

作为这样的新秀,我还没有找到任何好的"教程,我可能会在我的搜索中使用错误的关键字.. 但为此我遵循了本教程: https://www.joshmorony.com/building-a-crud-ionic-2-application-with-firebase-angularfire/

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

我遇到了同样的问题,但是我能够解决它。我阅读了Josh的文章,因为我读了他所有的文章并且他非常好,但是最近AngularFire2从我的理解中得到了更新,并且引起了一些变化。

我如何解决它是这样的:

import {AngularFireDatabase, FirebaseListObservable} from 'angularfire2/database';

我还导入了import { AngularFireModule } from 'angularfire2'; 代替 import { AngularFire } from 'angularfire2';

根据我的理解,他们将模块化设计得更多,以便人们可以使用他们想要的功能而不会产生所有开销。我可能错了。

然而,这对我有用。

因此,使用您的代码,它现在应该如下所示:

在app.module.ts文件中:

import { AngularFireDatabaseModule } from 'angularfire2/database';
import { AngularFireModule } from 'angularfire2';

然后在@NgModule标签下导入它,如下所示:

  imports: [
    AngularFireModule.initializeApp(firebaseConfig),
    AngularFireDatabaseModule 
]

然后在您正在使用的组件ts下。执行以下操作:

import {AngularFireDatabase, FirebaseListObservable} from 'angularfire2/database';

然后你需要声明它

records: FirebaseListObservable<any[]>;

在你的构造函数中:

constructor(private navParams: NavParams, public nacCtrl: NavController, db: AngularFireDatabase){
    this.records = db.list('/records');}