【发布时间】:2020-06-08 22:56:40
【问题描述】:
我在 console.log 时设置的数组中有一个未定义的值。
下面是我的component.ts:
export class OrderExceptionReportComponent implements OnInit {
public sessionData: ExceptionReportSessionData[] = [];
newData: any;
reports = [];
constructor(private orderExceptionReportService: OrderExceptionReportService) {
}
public async getExceptionReportSessionData(): Promise<void> {
return this.orderExceptionReportService.GetExceptionReportSessionData()
.then(
data => {
this.sessionData = data;
});
}
async ngOnInit() {
await this.getExceptionReportSessionData();
}
sessionDataChange(evt) {
const value = evt.target.value;
console.log(`session index: ${value}`);
console.log(this.sessionData);
if (isNaN(Number(value))) {
this.reports = [];
} else {
this.reports = this.sessionData[Number(value)].ReportFiles;
}
console.log(this.reports);
}
}
当我console.log(this.sessionData) 时,我能够很好地查看我的数据数组。但是当我从我的sessionDataChange() 函数中console.log(this.reports) 时,它会记录一个未定义的值。我需要该值作为我正在实施的下拉菜单。我可以做些什么来确保this.reports 被分配了正确的值?
【问题讨论】:
-
执行console.log(this.sessionData)的时候在控制台看到了什么?你能把这个结构添加到你的帖子中吗?
-
@bjdose 添加了控制台照片
-
你确定进入else条件吗?
-
我看到您正在尝试获取带有 R 大写字母的 .ReportFile,但在控制台的图像中我看到带有 r 小写字母的 reporteFiles。尝试改变它。
-
这是典型的。对象名称区分大小写。更改为报告文件
标签: javascript arrays angular typescript