我有一个角度服务,其值定义为:
private client_comments = new BehaviorSubject([]);
我正在尝试使用http调用的响应来设置值,但我看到了:
类型'响应'的争论不能分配给'任何[]'类型的参数。物业长度'类型'响应'
中缺少
......我的电话看起来像是:
this.http.get(final_url, o).subscribe( comments => {
this.client_comments.next(comments)
})
我应该如何在响应上设置类型,以便它知道它将是一个数组?
答案 0 :(得分:2)
this.client_comments.next(comments.json() as YourType[])
您还应该设置主题,使其输入为YourType[]
答案 1 :(得分:0)
像这样使用它:
this.http.get(final_url, o)
.map((res: Response) => res.json())
.subscribe( comments: any[] => {
this.client_comments.next(comments)
});
如果您使用的是@angular/common/http
套餐(推荐套餐),https://angular.io/api/http/Http
像这样使用它:
this.http.get<any[]>(final_url, o)
.subscribe( comments: any[] => {
this.client_comments.next(comments)
});