错误类型错误:newAsBuilt.asBuiltWoList 未定义

时间:2021-02-01 19:14:13

标签: javascript angular typescript

我发现我认为是我在 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

我猜我错过了一些简单的东西,但我现在没有看到。

1 个答案:

答案 0 :(得分:0)

我只是想出我需要自己做的事情。当我更改代码时:

newAsBuilt.asBuiltWoList.push(newABWo);

newAsBuilt.asBuiltWoList = new Array(newABWo);

我在想,一旦我初始化了数组,我就可以将其他记录推送到它上面。