我正在尝试从网络服务中检索数据。我可以和你分享 JSON 结构。
"PRE":[
{
"DEPO":979534429484,
"CLER":"RC3038",
"INTITULE1":"PORTEFEUILLE RC3038",
"PHONE":"0999999999999",
"TOMANY":"FALSE",
"PREPTF":[
{
"NUM":146662,
"CLER":"RC3038",
"SVM":94533166,
"ISIN":"BE0945331669",
"LABEL":"ARKIMEDES FONDS",
"QUANTITE":10.00,
"DATE":"2012-04-18",
"TYPE":"IN",
"PERSONNE_CONTACT":"",
"CONTREPARTIE":"DEXIA",
"TEL":0,
"FAX":0,
"STATUT":9,
"STATUT_LIB":"Fait",
"REF_ALPHA":"CO12240000048563",
"REF_RBC":"",
"TRADE_DATE":"2012-04-18",
"VALUE_DATE":"2012-04-19",
"TRAITEMENT_DATE":"2012-04-18",
"ANNULATION_DATE":"0001-01-01",
"RECEPTION_DATE":"2012-04-25",
"REM1":"",
"REM2":"",
"COURS_MOYEN_ACHAT":160.100000,
"ACHAT_DATE":"0001-01-01",
"PMBIS":"N",
"TIS":0.000000,
"CHANGEMENT_BENEF_ECO":"O"
}
]
},
]
我不知道界面的结构对你来说是否正确?
export interface TransferResponse extends ApiResponse {
PRE: PreTransfer[];
}
export interface PreTransfer {
DEPO: number;
CLER: string;
INTITULE1: string;
PHONE: string;
TOMANY: string;
PREPTF: {
NUM: number;
CLER: string;
SVM: number;
ISIN: string;
LABEL: string;
QUANTITE: number;
DATE: string;
TYPE: string;
PERSONNE_CONTACT: string;
CONTREPARTIE: string;
TEL: number;
FAX: number;
STATUT: number;
STATUT_LIB: string;
REF_ALPHA: string;
REF_RBC: string;
TRADE_DATE: string;
VALUE_DATE: string;
TRAITEMENT_DATE: string;
ANNULATION_DATE: string;
RECEPTION_DATE: string;
REM1: string;
REM2: string;
COURS_MOYEN_ACHAT: number;
ACHAT_DATE: string;
PMBIS: string;
TIS: number;
CHANGEMENT_BENEF_ECO: string;
}[];
}
然后,我正在尝试创建允许我从 web 服务检索数据的方法。
customerTransfers: PreTransfer;
overviewTransfers(account: string): void {
this.service.overviewTransfers(account).pipe(
takeUntil(this.unsubscribe$)
).subscribe(res => {
this.customerTransfers = res.PRE.map(val => {
return {
}
});
});
}
我收到此错误消息:
error TS2339: Property 'PRE' does not exist on type 'ApiResponse'.
67 this.customerTransfers = res.PRE.map(val => {
我不明白哪里出了问题,我跟着一个教程。
谢谢
肯定地说,我需要看看你们服务的
overviewTransfers
方法。但是因为你没有分享它,我可以假设它说它返回一个 Observable 类型,基于错误的文本。最有可能的是,确实没有像PRE
中的ApiResponse
这样声明的字段(实际上在运行时没有呈现)。如果是这样,则应在此处指定更精确的类型:
Observable<TransferResponse>
.
此外,我注意到
customerTransfers
字段的类型为 PreTransfer
,尽管从名称和分配给它的内容来看,它是一个数组,应键入为 PreTransfer[]。
• TypeScript 错误:类型“Window”上不存在属性“X”
• 为子组件设置 ref 时,类型 ReactElement 上不存在属性“ref”
• 为什么我在日记条目记录上触发的 beforeSubmit UE 脚本上收到“类型错误:无法读取未定义的属性‘getLineCount’”
• TypeError:无法读取未定义的属性(读取“添加”),“classlist.add”上的类型错误
• Vue-Cannot read properties of undefined (reading 'prototype')
• React Redux 类型错误:无法添加属性 _,对象不可扩展
• 定义一个只有一个属性的类型,并且该属性的名称必须在数组中
• 在 TRPC 推断类型上使用 toZod 包时出现剥离错误
• 我正在做一个项目,我想在邮递员上填充一些数据,但是有两个问题
• 用于更新数据的 Laravel 9 MODAL 不起作用 [此集合实例上不存在属性 [id]。]
• MissingPropertyException:Gradle 任务因未知属性而失败
• fetch() POST 请求返回“错误 415 不支持的媒体类型”
• Typescript 错误:“预期类型来自属性‘webPreferences’,它在此处声明为类型‘BrowserWindowConstructorOptions’”