luc*_*cas 6 javascript firebase typescript angular
我正在尝试返回一个具有 name 属性的新对象。但它一直给我这个错误,但代码编译没有任何问题。我正在使用Angular 9和AnfularFirestore访问Firebase
this.db
.collection('availableExercises')
.snapshotChanges()
.pipe(
map(docArray => {
return docArray.map(doc => {
return {
id: doc.payload.doc.id,
name: doc.payload.doc.data().name,
duration: doc.payload.doc.data().duration,
calories: doc.payload.doc.data().calories
};
});
})
).subscribe((exercises: Exercise[]) => {
this.availableExercises = exercises;
this.exercisesChanged.next([...this.availableExercises]);
});
Run Code Online (Sandbox Code Playgroud)
这是我用于练习的界面
export interface Exercise{
id: string;
name: string;
duration: number;
calories: number;
date?: Date;
state?: 'completed' | 'cancelled' | null;
}
Run Code Online (Sandbox Code Playgroud)
Mic*_*l D 14
最有可能的是 TS Lint 错误。一种解决方法是使用方括号而不是点运算符来访问属性。尝试以下操作
return docArray.map(doc => {
return ({
id: doc.payload.doc['id'],
name: doc.payload.doc.data()['name'],
duration: doc.payload.doc.data()['duration'],
calories: doc.payload.doc.data()['calories']
});
});
Run Code Online (Sandbox Code Playgroud)
如果仍然出现错误,请尝试替换访问链上的点运算符。
尽管如此,无论这个错误如何,生成的 JS 都应该是有效的。
| 归档时间: |
|
| 查看次数: |
13357 次 |
| 最近记录: |