我发现我认为是我在 stackoverflow 上尝试做的事情的一个很好的例子,并且我正在遵循这个例子。但是,当我运行我的代码时,我收到了标题中的错误。
在我正在处理的应用程序中,我收到一个数组,我从后端服务 0 接收到许多子记录。我现在正在编写代码,以便只将更新的记录添加到发送到后端服务的数组中。我正在尝试在父记录中创建一个子记录数组。
我的代码如下:
export class AsBuilt {
model?: string;
eff?: string;
endItem?: string;
naPartNo?: string;
partNo?: string;
woSeq?: string;
serialNo?: string;
parentSerialNo?: string;
altPartNo?: string;
asBuiltVeoNo?: string;
refDesg?: string;
modDate?: string;
asBuiltCl?: string;
lotNo?: string;
asBuiltQty?: string;
expDate?: string;
modUser?: string;
comments?: string;
partStatusId?: string;
partStatusDesc?: string;
fltCrit?: string;
asBuiltWoList?: AsBuiltWO[];
}
export class AsBuiltWO {
woSeq?: string;
workOrder?: string;
operation?: string;
instId?: string;
wad?: string;
}
newAsBuilt.model = this.dataSource.data[this.ecIn].asBuiltList[this.abIn].model,
newAsBuilt.eff = this.dataSource.data[this.ecIn].asBuiltList[this.abIn].eff,
newAsBuilt.endItem = this.dataSource.data[this.ecIn].asBuiltList[this.abIn].endItem,
newAsBuilt.partNo = this.dataSource.data[this.ecIn].asBuiltList[this.abIn].partNo,
newAsBuilt.naPartNo = this.dataSource.data[this.ecIn].asBuiltList[this.abIn].naPartNo,
newAsBuilt.parentSerialNo = this.asBuiltForm.get('parentSerialNo').value,
newAsBuilt.asBuiltCl = this.asBuiltForm.get('asBuiltCl').value,
newAsBuilt.altPartNo = this.asBuiltForm.get('altPartNo').value,
newAsBuilt.asBuiltVeoNo = this.asBuiltForm.get('asBuiltVeoNo').value,
newAsBuilt.asBuiltQty = this.asBuiltForm.get('asBuiltQty').value,
newAsBuilt.serialNo = this.asBuiltForm.get('serialNo').value,
newAsBuilt.lotNo = this.asBuiltForm.get('lotNo').value,
newABWo = new AsBuiltWO;
newABWo.woSeq = this.dataSource.data[this.ecIn].asBuiltList[this.abIn].woSeq,
newABWo.workOrder = this.dataSource.data[this.ecIn].asBuiltList[this.abIn].asBuiltWoList[0].workOrder,
newAsBuilt.asBuiltWoList.push(newABWo);
当我尝试将 newABWo 添加到 newAsBuilt 时,该行出现错误
ERROR TypeError: newAsBuilt.asBuiltWoList is undefined
我猜我错过了一些简单的东西,但我现在没有看到。
答案 0 :(得分:0)
我只是想出我需要自己做的事情。当我更改代码时:
newAsBuilt.asBuiltWoList.push(newABWo);
到
newAsBuilt.asBuiltWoList = new Array(newABWo);
我在想,一旦我初始化了数组,我就可以将其他记录推送到它上面。