簡體   English   中英

如何將嵌套數組放入rowData

[英]How to get a nested array into rowData

我是Angular和JS的新手,所以請保持柔和。 我有一個Angular 5服務,它獲取的JSON結構如下:

result: {
 objects: [
 {object1},
 {object2}.....

然后將JSON作為對象存儲在我的grid-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);

只是將object []分配給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管道有關的文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM