Javascript 瞄准物体内的阵列-角度2的可观测值
有一次,我在Angular 2应用程序中使用可观测值成功地迭代数组中的对象。在我的客户服务文件中,我有:Javascript 瞄准物体内的阵列-角度2的可观测值,javascript,arrays,angular,typescript,Javascript,Arrays,Angular,Typescript,有一次,我在Angular 2应用程序中使用可观测值成功地迭代数组中的对象。在我的客户服务文件中,我有: getByCategory(category: string) { const q = encodeURIComponent(category); return this.http.get (`https://api.someurl.com/${this.ver}/clients/category/${q}?apikey=${this.key}`) .
getByCategory(category: string) {
const q = encodeURIComponent(category);
return this.http.get
(`https://api.someurl.com/${this.ver}/clients/category/${q}?apikey=${this.key}`)
.map((response: Response) => response.json())
.catch(this.stageErrorsHandler);
}
stageErrorsHandler(error: Response) {
console.error(error);
return Observable.throw(error.json().error || 'Server error');
}
然后我订阅了我的组件的ngOnInit生命周期钩子,如下所示:
ngOnInit() {
this.clientService.getByCategory('consulting')
.subscribe(resRecordsData => this.records = resRecordsData,
responseRecordsError => this.errorMsg = responseRecordsError);
}
<tr *ngFor="let record of records">
[
{
"id": "someid",
}
]
{
"count": 1000,
"data": [
{
"id": "someid",
}
]
}
在组件中,我还将记录初始化为空数组:
records = [];
然后,在我看来,我对这组记录进行了如下迭代:
ngOnInit() {
this.clientService.getByCategory('consulting')
.subscribe(resRecordsData => this.records = resRecordsData,
responseRecordsError => this.errorMsg = responseRecordsError);
}
<tr *ngFor="let record of records">
[
{
"id": "someid",
}
]
{
"count": 1000,
"data": [
{
"id": "someid",
}
]
}
。。。我需要将其更改为现在的目标是一个名为“data”的数组,该数组位于一个对象中。看起来是这样的:
ngOnInit() {
this.clientService.getByCategory('consulting')
.subscribe(resRecordsData => this.records = resRecordsData,
responseRecordsError => this.errorMsg = responseRecordsError);
}
<tr *ngFor="let record of records">
[
{
"id": "someid",
}
]
{
"count": 1000,
"data": [
{
"id": "someid",
}
]
}
我遇到的一个简单问题是:如何在这样的对象中定位数组?我需要以对象中的数组为目标,因为*ngFor需要这样才能进行迭代。您可以通过以下方式尝试以记录中的数组为目标:
<tr *ngFor="let record of records.data">
尝试让记录的记录。数据?或者初始化记录:this.records=resRecordsData.data?好主意。让我试试看,如果有问题就告诉我works@floor,成功了。非常感谢!