我是Ionic和Firebase的新手,运行应用程序时出现此错误:
TypeError:Object(...)不是函数
那是代码的不同部分:
在“ ts”文件中:
items : AngularFireList<any[]>;
itemArray = [];
this.items = afs.list("persons");
this.items.snapshotChanges().subscribe(actions =>{
actions.forEach(action=>{
let y = action.payload.toJSON();
y['$key'] = action.key;
this.itemArray.push(y as Person);
})
})
HTML:
<ion-item-sliding *ngFor = "let person of itemArray">
...
我已经安装了最新版本的firebase和angularfire2:
npm install firebase angularfire2 --save
npm install @firebase/app@latest --save
app.module.ts中的当前配置:
"angularfire2": "^5.0.0-rc.11",
"firebase": "^5.3.0",
"ionic-angular": "3.9.2",
"ionicons": "3.0.0",
"rxjs": "5.5.11",
答案 0 :(得分:0)
确保您的函数调用返回非空值:
items : AngularFireList<any[]>;
itemArray = [];
this.items = afs.list("persons");
if(this.items){
this.items.snapshotChanges().subscribe(actions =>{
actions.forEach(action=>{
if(action && action.payload){
let y = action.payload.toJSON();
y['$key'] = action.key;
this.itemArray.push(y as Person);
}
})
})
作为旁注,我建议不要使用angularfire。以我的经验,维护和更新它很头疼。 Firebase SDK本身为您提供了足够的功能。