使用 Ngfor 在 angular 2 中显示数组值的对象
Dispaly object of array values in angular 2 using Ngfor
我有一个对象数组 values.i 我正在使用分组方法对基于 type.it 的值进行分组 type.it 给出了一个数组对象 values.i 很难显示这些值在 angular 2.
中使用 Ngfor
我有以下结构值。
{
[
{
id:1
body:"value1"
type:"name"
},
{
id:2
body:"value1"
type:"id"
}
],
[
{
id:3
body:"value1"
type:"name"
},
{
id:4
body:"value1"
type:"id"
},
{
id:5
body:"value1"
type:"name"
}
],
[
{
id:6
body:"value1"
type:"id"
},
{
id:7
body:"value1"
type:"fname"
},
{
id:8
body:"value1"
type:"fname"
}
]
}
我的 html 代码是。
<div *ngFor="let value of result">
{{value.body}}
</div>
ngFor
仅适用于 Array
元素。此外,您当前的 JSON 似乎无效。虽然您可以轻松地将数组展平为单个数组并使用 ngFor
在 DOM
上呈现它
<div *ngFor="let value of flattenArray">
{{value.body}}
</div>
组件
flattenArray = [];
//after retrieving result, create flatten array.
for(let value of result){
this.flattenArray.conact(value);
}
你拥有的不是对象数组,它甚至不是 JSON(用 https://jsonlint.com/ 检查),
当您将第一个 {} 替换为 [] 时(当然还要添加逗号!)一切正常,这里有效 json:
[
[
{
id:1,
body:"value1",
type:"name"
},
{
id:2,
body:"value1",
type:"id"
}
],
[
{
id:3,
body:"value1",
type:"name"
},
{
id:4,
body:"value1",
type:"id"
},
{
id:5,
body:"value1",
type:"name"
}
]
]
然后在 angular 视图中:
<div *ngFor="let items of result">
<div *ngFor="let value of items">
{{value.body}}
</div>
</div>
感谢大家 response.i 找到了问题的解决方案。
let value = _.groupBy(data, "type");
for (let key in value) {
content.push({ key: key, value: value[key] });
}
我的html是
<div *ngFor="let keys of content">
<div *ngFor="let value of keys.value">
{{value.body}}
</div>
</div>
我有一个对象数组 values.i 我正在使用分组方法对基于 type.it 的值进行分组 type.it 给出了一个数组对象 values.i 很难显示这些值在 angular 2.
中使用 Ngfor我有以下结构值。
{
[
{
id:1
body:"value1"
type:"name"
},
{
id:2
body:"value1"
type:"id"
}
],
[
{
id:3
body:"value1"
type:"name"
},
{
id:4
body:"value1"
type:"id"
},
{
id:5
body:"value1"
type:"name"
}
],
[
{
id:6
body:"value1"
type:"id"
},
{
id:7
body:"value1"
type:"fname"
},
{
id:8
body:"value1"
type:"fname"
}
]
}
我的 html 代码是。
<div *ngFor="let value of result">
{{value.body}}
</div>
ngFor
仅适用于 Array
元素。此外,您当前的 JSON 似乎无效。虽然您可以轻松地将数组展平为单个数组并使用 ngFor
在 DOM
<div *ngFor="let value of flattenArray">
{{value.body}}
</div>
组件
flattenArray = [];
//after retrieving result, create flatten array.
for(let value of result){
this.flattenArray.conact(value);
}
你拥有的不是对象数组,它甚至不是 JSON(用 https://jsonlint.com/ 检查), 当您将第一个 {} 替换为 [] 时(当然还要添加逗号!)一切正常,这里有效 json:
[
[
{
id:1,
body:"value1",
type:"name"
},
{
id:2,
body:"value1",
type:"id"
}
],
[
{
id:3,
body:"value1",
type:"name"
},
{
id:4,
body:"value1",
type:"id"
},
{
id:5,
body:"value1",
type:"name"
}
]
]
然后在 angular 视图中:
<div *ngFor="let items of result">
<div *ngFor="let value of items">
{{value.body}}
</div>
</div>
感谢大家 response.i 找到了问题的解决方案。
let value = _.groupBy(data, "type");
for (let key in value) {
content.push({ key: key, value: value[key] });
}
我的html是
<div *ngFor="let keys of content">
<div *ngFor="let value of keys.value">
{{value.body}}
</div>
</div>