小编use*_*483的帖子

将 JSON 响应 observable 转换为角度(打字稿)对象数组

我有一个从 Django-REST 提取数据的服务 API。返回的 JSON 如下所示:

[
{
    "manufacturer": "Mfg",
    "model": "Model",
},
{
    "manufacturer": "Mfg2",
    "model": "Model2",
}
]
Run Code Online (Sandbox Code Playgroud)

服务API函数getData返回:

return this.httpClient.get(`${this.apiURL}/data/`);
Run Code Online (Sandbox Code Playgroud)

请注意,我在 Django 中使用 ListAPIView,并且我已验证上述 URL 返回上面显示的 JSON 对象(尽管我必须添加 ?format=json 才能获取 Django APIView 之外的原始数据)。

然后,我有一个 Angular 组件,它调用服务 API 函数将可观察对象转换为对象数组:

export class Data implements OnInit {

private records = Array<object> = [];

...

constructor(private  apiService:  ApiService) {}

ngOnInit() {
  this.getData();
}

public getData() {
 this.apiService.getData().subscribe((data: Array<object>) => {this.records = data});
Run Code Online (Sandbox Code Playgroud)

没有错误或警告,但在组件的 HTML 文件中,当我尝试访问记录数组时,它的长度始终为 0。例如,以下内容将打印“0”和一个空表。

<P> {{ records.length …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework angular

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

angular ×1

django ×1

django-rest-framework ×1