如何将嵌套数组放入 rowData
How to get a nested array into rowData
我是 Angular 和 JS 的新手,所以请多多包涵。我有一个 Angular 5 服务,它获取 JSON 结构如下:
result: {
objects: [
{object1},
{object2}.....
然后 JSON 作为对象存储在我的网格中的一个变量中-component.ts:
getVehicles() {
this._vehicleService.getVehicles().subscribe(
data => { this.vehicles = data },
err => console.error(err),
() => console.log('done loading vehicles')
);
我试图将结果的数组部分 objects[] 放入 rowData 中,但没有任何运气。我尝试了几种方法;迭代对象并推送到 rowData。
for (let vehicle of this.vehicles.result.objects) {
this.gridOptions.rowData.push(vehicle);
并且只是将 objects[] 分配给 rowData 但似乎没有任何效果。问题似乎出在我的表达上;
this.vehicles.result.objects;
过去车辆 Angular 未定义的所有内容。奇怪的是,如果我在我的模板中使用字符串插值,我可以使用 *ngFor 创建一个列表,如果 vehicleIds 使用相同的表达式,尽管控制台仍然抱怨未定义的属性;
<ul>
<li *ngFor="let vehicle of vehicles.result.objects">
{{ vehicle.vehicleId }}
</li>
显然,我在这里缺少一些基本的东西。如有任何建议,我们将不胜感激。
问题出在您的 vehicles
对象上,最初在呈现组件时未定义它。添加 ?
来解决这个问题。
<ul>
<li *ngFor="let vehicle of vehicles?.result.objects">
{{ vehicle.vehicleId }}
</li>
其他可能的方法使用 async
管道来解决这个问题。您可以找到与 async
管道 here
相关的文档
我是 Angular 和 JS 的新手,所以请多多包涵。我有一个 Angular 5 服务,它获取 JSON 结构如下:
result: {
objects: [
{object1},
{object2}.....
然后 JSON 作为对象存储在我的网格中的一个变量中-component.ts:
getVehicles() {
this._vehicleService.getVehicles().subscribe(
data => { this.vehicles = data },
err => console.error(err),
() => console.log('done loading vehicles')
);
我试图将结果的数组部分 objects[] 放入 rowData 中,但没有任何运气。我尝试了几种方法;迭代对象并推送到 rowData。
for (let vehicle of this.vehicles.result.objects) {
this.gridOptions.rowData.push(vehicle);
并且只是将 objects[] 分配给 rowData 但似乎没有任何效果。问题似乎出在我的表达上;
this.vehicles.result.objects;
过去车辆 Angular 未定义的所有内容。奇怪的是,如果我在我的模板中使用字符串插值,我可以使用 *ngFor 创建一个列表,如果 vehicleIds 使用相同的表达式,尽管控制台仍然抱怨未定义的属性;
<ul>
<li *ngFor="let vehicle of vehicles.result.objects">
{{ vehicle.vehicleId }}
</li>
显然,我在这里缺少一些基本的东西。如有任何建议,我们将不胜感激。
问题出在您的 vehicles
对象上,最初在呈现组件时未定义它。添加 ?
来解决这个问题。
<ul>
<li *ngFor="let vehicle of vehicles?.result.objects">
{{ vehicle.vehicleId }}
</li>
其他可能的方法使用 async
管道来解决这个问题。您可以找到与 async
管道 here