类型对象不能分配给任何[]类型

Fak*_*ire 0 primeng angular

我正在使用PrimeNG数据表.我在Angular中使用httpClient从JSON占位符中获取一些模拟数据.它在我的控制台中显示为一个对象数组,但Visual Studio代码错误表明它是一个对象.错误说"类型对象不能分配给任何[]." 这里有什么问题?

表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 
    })
  }

}
Run Code Online (Sandbox Code Playgroud)

表layout.component.html

<p-dataTable [value]="results">
</p-dataTable>
Run Code Online (Sandbox Code Playgroud)

LLa*_*Lai 8

如果未指定从http请求返回的类型,则http客户端将假定其为a Object.这导致您看到的类型不匹配错误.您正在尝试将类型分配Object给类型any[].您可以通过执行指定返回类型

this.http.get<any[]>(this.ROOT_URL).subscribe(...);
Run Code Online (Sandbox Code Playgroud)