当我试图初始化"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
})
}