Javascript AngularJS使用ng repeat遍历多层数组
当涉及到迭代具有多个层的数组时,我对ng repeat指令有一个问题。与Json对象非常相似,但并不完全相同 要构建阵列,我使用类似以下代码:Javascript AngularJS使用ng repeat遍历多层数组,javascript,angularjs,arrays,Javascript,Angularjs,Arrays,当涉及到迭代具有多个层的数组时,我对ng repeat指令有一个问题。与Json对象非常相似,但并不完全相同 要构建阵列,我使用类似以下代码: $scope.dailyData = [] $scope.dailyData[0] = [] $scope.dailyData[0].push([{"today":null,"day2":1,"day3":null,"day4":null,"day5":null,"day6":null,"day7":null,"title":"Queries Built
$scope.dailyData = []
$scope.dailyData[0] = []
$scope.dailyData[0].push([{"today":null,"day2":1,"day3":null,"day4":null,"day5":null,"day6":null,"day7":null,"title":"Queries Built","id":null}])
这只是程序实际执行的一个示例,我这样做的原因可能与问题相关,也可能与问题无关
这将输出到如下所示的数组
[[[{"title":"Queries Built","today":null,"day2":1,"day3":null,"day4":null,"id":null}]]]
中间有三个数组和一个对象。问题是我似乎无法让ng repeat从对象中提取数据
我希望它输出如下:| Title | Today | Yesterday |
| Queries Built | null | 1 |
但我在ng repeat上试过的一切似乎都不起作用。例如:
<div ng-repeat="row in dailyData[0]">
<tr>
<td>{{row[0]["title"]}}</td>
<td>{{row["today"]}}</td>
<td>{{row["day2"]}}</td>
<td>{{row["day3"]}}</td>
<td>{{row["day4"]}}</td>
</tr>
</div>
{{row[0][“title”]}
{{row[“今天”]}
{{row[“day2”]}
{{row[“day3”]}
{{row[“day4”]}
这里的第一行是与其他方法不同的方法,它们都不起作用
这里有一个难题:我认为您需要重新构造数据,使其具有更好的格式 您将需要执行与我在本plnkr中所做的类似的嵌套循环:
{{row.name}
{{row2.name}
更多有用的信息可在此帖子中找到:
我认为您需要重新构造数据,使其具有更好的格式 您将需要执行与我在本plnkr中所做的类似的嵌套循环:
{{row.name}
{{row2.name}
更多有用的信息可在此帖子中找到:
<> P>主要问题是,在表的中间使用了<代码> <代码>标签,这可能是浏览器没有渲染任何东西的原因。 在这把小提琴中:
{{row[0][“title”]}
我简化了数据并将ng repeat移动到TR元素中,同时也删除了错误的DIV
<tr ng-repeat="row in dailyData">
<td>{{row.title}}</td>
{{row.title}}
> > 主要问题是,在表的中间使用了<代码> <代码>标签,这可能是浏览器没有渲染任何东西的原因。
在这把小提琴中:
{{row[0][“title”]}
我简化了数据并将ng repeat移动到TR元素中,同时也删除了错误的DIV
<tr ng-repeat="row in dailyData">
<td>{{row.title}}</td>
{{row.title}}
您需要另一个数组引用,如“dailyData[0][0]中的行”,我不会问您为什么有3个嵌套数组,大概您有很好的理由:)当我在dailyData[0][0]中执行行时,稍后尝试行[“title”]不会显示任何内容。我目前正在尝试让一个fiddle运行到shared,并将该fiddle添加到OP中。您应该能够通过给嵌套数据命名来引用它。例如,dailyData.array[0].array2[0]当您留下下面的答案时,我不太明白您的意思,我将尝试一下,并让您知道它是如何进行的。我很不情愿,因为我正在处理一个已经创建的系统。您需要另一个数组引用,如“dailyData[0][0]中的行”。我不会问您为什么有3个嵌套数组,大概您有很好的理由:)当我在dailyData[0][0]中执行行时,稍后尝试行[“title”],什么都不会显示。我目前正在尝试让一个fiddle运行到shared,并将该fiddle添加到OP中。您应该能够通过给嵌套数据命名来引用它。例如,dailyData.array[0].array2[0]当您留下下面的答案时,我不太明白您的意思,我将尝试一下,并让您知道它是如何进行的。我很不情愿,因为我正在围绕一个已经创建的系统工作。
<tr ng-repeat="row in dailyData">
<td>{{row.title}}</td>