arrays - 循环遍历包含对象的数组
问题描述
这是我第一次发帖,而且我对 AngularJs 也很陌生,对 JavaScript 也有些陌生。我希望我提供足够的信息。我有一个数组,其中包含对象数组 [[{},{},{}],[{},{},{}],[{},{},{}]]。有没有办法使用 AngularJs 循环并输出类似于以下内容的内容?
组标题 1
- 01 项目标题1:项目描述
- 02 项目标题2:项目描述
组标题 2
- 03 项目标题1:项目描述
- 04 项目标题2:项目描述
===============
$scope.groups_array = [
[
{
"id": "01 ",
"": [
"Item Title 1",
"Item description"
],
"group_id": "A",
"title": "Group Title 1"
},
{
"id": "02 ",
"": [
"Item Title 2",
"Item description"
],
"group_id": "A",
"title": "Group Title 1"
}
],
[
{
"id": "03 ",
"": [
"Item Title 1",
"Item description"
],
"group_id": "B",
"title": "Group Title 2"
},
{
"id": "04 ",
"": [
"Item Title 2",
"Item description"
],
"group_id": "B",
"title": "Group Title 2"
}
]
]
$scope.group_title = ["Group Title 1", "Group Title 2"];
<div>
<div ng-repeat="title in group_title">
<h1>{{title}}</h1>
<ul>
<li ng-repeat="item in groups_array">
{{item.id + ' ' + item[''][0]}}: {{item[''][1]}}
</li>
</ul>
</div>
</div>
相反,我得到的输出只是控制台中没有错误的:列表。
对象数组本身来自包含所有对象的主数组,我尝试按组标题将它们分组到数组中。我不确定这是否是最好的解决方案。
解决方案
您应该尝试将 groups_array 变成像
$scope.groups_array = {
"Group Title 1": [
{
"id": "01 ",
"": [
"Item Title 1",
"Item description"
],
"group_id": "A",
"title": "Group Title 1"
},
{
"id": "02 ",
"": [
"Item Title 2",
"Item description"
],
"group_id": "A",
"title": "Group Title 1"
}
],
"Group Title 2": [
{
"id": "03 ",
"": [
"Item Title 1",
"Item description"
],
"group_id": "B",
"title": "Group Title 2"
},
{
"id": "04 ",
"": [
"Item Title 2",
"Item description"
],
"group_id": "B",
"title": "Group Title 2"
}
]
}
然后在您的 Angular 代码段中:
<div>
<div ng-repeat="title in group_title">
<h1>{{title}}</h1>
<ul>
<li ng-repeat="item in groups_array[title]">
{{item.id + ' ' + item[''][0]}}: {{item[''][1]}}
</li>
</ul>
</div>
</div>