Как отображать данные из массива JSON в угловых 7 - PullRequest
1 голос
/ 17 апреля 2019

У меня есть набор данных json с массивами из моего веб-интерфейса ASP.net Core, я хочу показать эти данные на угловой HTML-странице. Вы можете мне помочь.

угловой 7 кли

дом-page.component.ts

 ngOnInit() {

    this.serverService.getAllProductData().subscribe(
      (response:Response)=>{ 
        let result = response;  
        console.log(result); 
      } 
    );

  }

Данные из веб-API

[

  {
    "productId": 1,
    "productName": "product 1",
    "productPrice": 500
  },

  {
    "productId": 2,
    "productName": "product 2",
    "productPrice": 1000
  },

  {
    "productId": 3,
    "productName": "product 3",
    "productPrice": 2000
  },

  {
    "productId": 4,
    "productName": "PRODUCT 4",
    "productPrice": 3000
  },

  {
    "productId": 5,
    "productName": "produt 5",
    "productPrice": 10000
  }

]

Ответы [ 2 ]

2 голосов
/ 17 апреля 2019

Вам нужно перебрать элементы, используя ngFor

 <ul>
    <li *ngFor="let resultObj of result">
      {{ resultObj.productName}}
    </li>
 </ul>

также объявляем результат глобально в TS вне ngOnInit.

result : any;

ngOnInit() {
this.serverService.getAllProductData().subscribe(
  (response:Response)=>{ 
    this.result = response;  
    console.log(result); 
  } 
);
}
0 голосов
/ 17 апреля 2019

Вы можете использовать ответ Sajeetharan или попробовать async трубку с автоматической отпиской от Observable.

public getAllProductData$: Observable<any> = undefined; 

ngOnInit() {
    this.getAllProductData$ = this.serverService.getAllProductData();
}

и шаблоном:

<div *ngIf="(getAllProductData$ | async) as data">
   <ul>
     <li *ngFor="let item of data">
       {{ item.productName}}
     </li>
  </ul>
</div>

Удачи!

...