我是离子框架世界的新手,现在我正在尝试为学校项目创建一个应用程序。 要在应用程序中保存数据,我将使用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/
感谢您的帮助。
答案 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');}