"对象"类型可分配给极少数其他类型。你的意思是改用"任何"类型



当我试图初始化"this.post";要分配给一个变量,它不允许我这样做。我正在使用Angular 8

import { Component, OnInit } from '@angular/core';
import { HttpClientModule, HttpClient, HttpBackend } from '@angular/common/http';
import { Observable, observable } from 'rxjs';

@Component({
selector: 'app-post',
templateUrl: './post.component.html',
styleUrls: ['./post.component.css']
})
export class PostComponent implements OnInit {

post: any[];


constructor(private http: HttpClient) { 
http.get('https://jsonplaceholder.typicode.com/posts').subscribe(responce => {
this.post = responce
})
}

ngOnInit() {
}
}

这里TypeScript抱怨类型不匹配,订阅函数参数有类型对象,u将其分配给其他类型

httpClient.get函数是通用的,这意味着你可以告诉它什么是响应类型,如果你不提供它,它将设置为object作为默认值。

似乎你正在将你的响应分配给任何[]类型的帖子

所以这将工作

constructor(private http: HttpClient) { 
http.get<any[]>('https://jsonplaceholder.typicode.com/posts').subscribe(responce => {        
this.post = responce       
})        
}

这里typescript抱怨类型不匹配响应是对象,u将其分配给其他类型

httpClinet.get函数是通用的,这意味着你可以告诉它什么是响应类型,如果你不提供它,它将把它设置为对象作为默认的

似乎你正在将你的响应分配给任何[]类型的帖子

所以这将工作

constructor(private http: HttpClient) { 
http.get<any[]>('https://jsonplaceholder.typicode.com/posts').subscribe(responce => {        
this.post = responce       
})        
}

相关内容

最新更新