2017-11-27 5 views
-1

Ich benutze PrimeNG Datentabelle. Ich verwende httpClient in Angular, um einige Scheindaten vom JSON-Platzhalter abzurufen. Es erscheint in meiner Konsole als ein Array von Objekten, aber der Visual Studio Code-Fehler besagt, dass es ein Objekt ist. Der Fehler besagt, dass der Typ Objekt keinem [] zugewiesen werden kann. Was ist das Problem hier?Typ Objekt ist nicht zuweisbar Typ beliebig []

Tisch layout.component.ts

import { BrowserModule } from '@angular/platform-browser' 
import { Component, OnInit, NgModule } from '@angular/core'; 
import { HttpClient } from '@angular/common/http' 

@Component({ 
    selector: 'app-table-layout', 
    templateUrl: './table-layout.component.html', 
    styleUrls: ['./table-layout.component.css'] 
}) 

export class TableLayoutComponent implements OnInit { 

    ROOT_URL: string = 'https://jsonplaceholder.typicode.com/users' 
    results: any[] 

    constructor(private http: HttpClient) { } 

    ngOnInit() { 
    this.getData(); 
    } 

    getData() { 
    this.http.get(this.ROOT_URL).subscribe(data => { 
     this.results = data 
     console.log(this.results) //this is an array in the console 
    }) 
    } 

} 

Tisch layout.component.html

<p-dataTable [value]="results"> 
</p-dataTable> 
+0

geben Sie uns den getData() Code. Vielleicht liegt es daran, dass Sie eine andere Art von Daten zurückgeben. –

Antwort

0

Wenn Sie angeben, nicht die Art, die von Ihrer HTTP-Anforderung zurückgegeben wird, der HTTP-Client nimmt an ein Object. Dies verursacht den Typenkonfliktfehler, den Sie sehen. Sie versuchen, den Typ Object dem Typ any[] zuzuordnen. Sie können die Rückgabetyp indem

this.http.get<any[]>(this.ROOT_URL).subscribe(...); 
+1

Vielen Dank! – FakeEmpire

Verwandte Themen