1
votes

Impossible de trouver un autre objet de prise en charge «[objet objet]» de type «objet». NgFor ne prend en charge que la liaison aux Iterables tels que Array. données json

Données JSON

 <div *ngIf="orders['assets'].length != 0">
 <ion-row *ngFor="let tool of orders['assets']">
 <ion-col col-4>{{ tool.tool_order_id }}</ion-col>
 <ion-col col-4>{{ tool.order_status_id }}</ion-col>
  </ion-row>
<div *ngIf="orders['assets'].length != 0">
 <ion-row *ngFor="let tool of orders['assets']['0']">
 <ion-col col-4>{{ tool.tool_order_id }}</ion-col>
 <ion-col col-4>{{ tool.order_status_id }}</ion-col>
  </ion-row>

si je répète cela, j'obtiens une erreur. Impossible de trouver un autre objet de prise en charge «[objet objet]» de type «objet». NgFor ne prend en charge que la liaison aux Iterables tels que les tableaux. Ci-dessous est html

data:[
   {
    assets:[[tool_order_id: "38",order_status_id: "10"]],
    order_info:[id: "1", order_type: "6",check: "1", current_Stage_id: "29"]
},
{
  assets:[tool_order_id: "1",order_status_id: "10"],
    order_info:[id: "2", order_type: "3",check: "1", current_Stage_id: "29"]
},  
{
    assets:[[tool_order_id: "8",order_status_id: "10"]],
    order_info:[id: "3", order_type: "3",check: "1", current_Stage_id: "29"]
},
{
  assets:[tool_order_id: "3",order_status_id: "10"],
    order_info:[id: "4", order_type: "3",check: "1", current_Stage_id: "29"]
}
]

et dans le fichier data.ts, stocker les données dans les commandes this.orders = this.data; console.log(this.orders); capable d'afficher les données dans la console.


2 commentaires

pouvez-vous partager le code que vous avez écrit pour la boucle ngFor?


[tool_order_id: "1",order_status_id: "10"] ce n'est pas une syntaxe de tableau JS valide. Êtes-vous sûr d'avoir affaire à un tableau et non à un objet?


3 Réponses :


0
votes

Vous pouvez faire une boucle à l'intérieur de la boucle si elle vient dans la console d'une manière ou d'une autre

<div ngbDropdownMenu aria-labelledby="dropdownMenuButton2" *ngFor="let pChannel  of channels"> 
              <div *ngFor="let channel of pChannel">
              <a class="dropdown-item" (click)="getVouchersByChannelId(channel.channelId)">  
                  {{ channel.channelName }}             
                </a> 
              </div> 
            </div>


1 commentaires

J'ai des actifs [[mydata]] et des actifs [mydata] et j'ai besoin à la fois d'obtenir les données dans une seule variable et de les afficher en HTML.



0
votes

Essayez quelque chose comme ça

<ion-row *ngFor="let t of data">
<ion-row *ngFor="let tool of t.orders['assets']">


0 commentaires

0
votes
  1. Les données ne sont pas correctement formatées. [] désigne un tableau. Dans un tableau, vous ne pouvez pas avoir de paires clé / valeur directement, [tool_order_id: "38",order_status_id: "10"] . Ce doit être un objet {tool_order_id: "38",order_status_id: "10"} . Assurez-vous d'abord que vos données sont correctement formatées.

  2. Veuillez vous débarrasser des incohérences dans les données, comme les actifs de la ligne 1 sont un tableau de tableaux et à la ligne 2, c'est un tableau.

    actifs: [[tool_order_id: "38", order_status_id: "10"]],

    actifs: [tool_order_id: "1", order_status_id: "10"],


0 commentaires