这个问题可能已经在某处得到了回答,但是提供的解决方案对我不起作用或我没有正确使用它们。我有一项服务,该服务从对.net核心API的调用返回数据。返回了数据,但我无法将其绑定到对象。
数据由以下Company.Service.ts返回
---
- name: run script
script: ./files/script.ps1 PARAMETERS
args:
creates: script_has_been_run.txt
我试图在这里获取数据以绑定到前端。
export class CompanyListRequest{
UserID: number
}
//Company.Service.ts
import { CompanyListRequest } from '@app/_models/Company/CompanyListRequest';
import { CompanyListViewModel } from '@app/_models/Company/CompanyListViewModel';
@Injectable({
providedIn: 'root'
})
export class CompanyService {
private companyListRequest : CompanyListRequest;
constructor(private http: HttpClient) {
this.companyListRequest = {
UserID:2, //For simplicity
}
}
getAllCompanyList(){
return this.http.post<CompanyListViewModel[]>(`${environment.apiUrl}/Company/GetCompanyDetails`,this.companyListRequest);
}
}
this.data是未定义的。我检查了CompanyListViewModel,并且属性与返回的内容匹配。
答案 0 :(得分:0)
第一个public data: Observable<CompanyListViewModel[]>;
的类型错误。
this.companyService.getAllCompanyList()
返回一个Observable<CompanyListViewModel[]>
,但是在订阅中,您收到的data
不再是Observable
,它只是具有以下类型的数据:CompanyListViewModel[]
此外,您可能有一个可变的阴影问题。您在subscribe
回调中收到的数据称为data
,以及组件的data
属性。尝试将其中之一重命名为其他名称:
...subscribe(data => {
this.companyList = data['ResponseObject']
});