亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 firestore 檢索時出現未知類型屬性

從 firestore 檢索時出現未知類型屬性

森欄 2023-07-20 15:45:55
我正在嘗試從cloud firebase獲取數據模型.tsexport interface Asignaturas {    id: string;    codigo: number;     nombre: string;}服務.tsexport class AsignaturasService {    asignatura: Observable<Asignaturas[]>;    constructor(private db: AngularFirestore){}        getAsignaturas() {    return this.asignatura = this.db.collection('asignaturas').snapshotChanges()     .pipe(           map(               docArray => {                  return docArray.map(                                      doc => {                                         return {                                            id: doc.payload.doc.id,                                            codigo: doc.payload.doc.data().codigo,                                            nombre: doc.payload.doc.data().nombre                                         };                                      }                                  )               }           )     )}//subscribe( res => console.log(res))};}在上面的代碼中,我試圖獲取我的接口 Asignatura 的屬性。在控制臺日志中,我可以看到值被正確檢索,但是應用程序拋出錯誤src/app/shared/asignaturas.service.ts(26,76) 中的錯誤:錯誤 TS2339:類型“未知”上不存在屬性“codigo”。src/app/shared/asignaturas.service.ts(27,76):錯誤 TS2339:類型“未知”上不存在屬性“nombre”。知道出了什么問題。謝謝
查看完整描述

1 回答

?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

這是一個類型的事情,你的代碼不知道這些屬性的存在。您可以創建一個代表您的文檔的接口,并將該類型和 doc.data() 斷言到一個新對象上,即類型轉換。為了讓打字稿滿意,你可以執行以下操作,但這只會在編譯時為你提供保護。不確定這是否是您要找的。


doc => {?

? ? const data = doc.payload.doc.data() as Asignaturas

? ? return {

? ? ? ? id: doc.payload.doc.id,

? ? ? ? codigo: data.codigo,

? ? ? ? nombre: data.nombre

? ? };

}


查看完整回答
反對 回復 2023-07-20
  • 1 回答
  • 0 關注
  • 114 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號