Angular 5:如何将嵌套数组objects[]导入rowData中
解决Angular 5中嵌套数组赋值到rowData的问题
嗨,别担心,作为Angular和JavaScript新手,遇到这种嵌套数据的处理问题完全是正常的~ 我来一步步帮你搞定这个需求:
你现在通过服务获取的JSON结构是 result: { objects: [ {object1}, {object2}..... ] },要把里面的objects数组赋值给rowData,只需要在订阅数据的时候,深入访问到这个嵌套数组就行啦。
修改你原来的getVehicles()方法代码如下:
getVehicles() { this._vehicleService.getVehicles().subscribe( data => { // 直接从返回的data中取出result里的objects数组,赋值给rowData this.rowData = data.result.objects; // 顺便保留完整的返回数据到vehicles变量,方便后续其他场景使用 this.vehicles = data; }, err => console.error(err), () => console.log('done loading vehicles') ); }
小提醒:
- 如果你不确定返回的数据结构是否完全符合预期,可以先在回调里加一句
console.log(data),打开浏览器控制台查看实际返回的JSON结构,避免因为字段名拼写错误或者结构不符导致赋值失败。 - 记得要在你的
grid-component.ts里先声明rowData变量哦,比如:rowData: any[] = [];(如果后续能明确数据类型,用对应的接口类型会更规范,新手阶段先用any[]过渡也没问题)
内容的提问来源于stack exchange,提问作者rennyB
相关产品推荐
相关产品推荐

