我正在使用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)
如果未指定从http请求返回的类型,则http客户端将假定其为a Object.这导致您看到的类型不匹配错误.您正在尝试将类型分配Object给类型any[].您可以通过执行指定返回类型
this.http.get<any[]>(this.ROOT_URL).subscribe(...);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4228 次 |
| 最近记录: |