2017-11-27 31 views
-1

私はPrimeNGデータテーブルを使用しています。 AngularのhttpClientを使用して、JSONプレースホルダからモックデータを取得しました。これは私のコンソールにオブジェクトの配列として表示されますが、Visual Studioのコードエラーはそれがオブジェクトであると言っています。エラーは 'タイプオブジェクトは[]に割り当てられません。ここでの問題は何ですか?タイプオブジェクトは[any]型に割り当てられません

テーブル-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 
    }) 
    } 

} 

テーブル-layout.component.html

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

でgetData()コードを表示することで、戻り値の型を指定できます。他のタイプのデータが返されている可能性があります。 –

答えて

0

あなたのhttpリクエスト、HTTPクライアントから返されるタイプを指定しない場合その値はObjectとします。これにより、表示されている型の不一致エラーが発生しています。種類Objectany[]に割り当てようとしています。

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

ありがとう! – FakeEmpire

関連する問題