angular - 我收到一个错误“传播类型只能从对象 types.ts(2698) 创建”
问题描述
import { Injectable } from '@angular/core';
import { AngularFirestore } from '@angular/fire/firestore';
import { map } from 'rxjs/operators';
@Injectable({
providedIn: 'root'
})
export class FirestoreDbService {
constructor(private db: AngularFirestore) { }
getBuildList() {
// return this.db.collection('Builds').valueChanges();
return this.db.collection('Builds').snapshotChanges().pipe(
map(docArray => {
return docArray.map(doc => {
console.log('==', doc.payload.doc.id);
console.log('$==$', doc.payload.doc.data());
return{
id: doc.payload.doc.id,
... doc.payload.doc.data()
}
})
})
)
}
}
在最后一行我得到了错误。我认为这与打字稿有关。任何帮助表示赞赏
解决方案
使用as
关键字:
... doc.payload.doc.data() as {}
这将告诉编译器将其doc.payload.doc.data()
视为对象。
推荐阅读
- android - 带有旋转图像的 Android Recycler 视图
- docker - 如何修复 Rancher 中的“集群必须至少有一个 etcd 平面主机:无法连接到以下 etcd 主机 [10.xxx.xxx.36]”?
- javascript - localhost webapp 上的本地开发和 Cors 策略阻止的 localhost 访问
- python - 强制 Python 按值传递变量
- c# - 快捷方式中的单实例表单应用程序
- mapreduce - MapReduce 图灵完备吗?
- r - 将重复值粘贴在一起的新列添加到数据框
- c# - 将字节 [0] 插入 Oracle DB 表中的 NOT NULLABLE 列
- java - 如何检查图像是否已在本地存在
- amazon-web-services - AWS Amplify:从其他放大环境添加现有资源