Javascript 使用ng repeat传播包含另一个ng repeat列表的列表
我试图创建一个传播n个对象的角度列表,在列表项中,再次使用ng repeat从对象的属性(即数组)创建一个水平列表 我如何做到这一点 以下是我目前正在使用的对象:Javascript 使用ng repeat传播包含另一个ng repeat列表的列表,javascript,angularjs,Javascript,Angularjs,我试图创建一个传播n个对象的角度列表,在列表项中,再次使用ng repeat从对象的属性(即数组)创建一个水平列表 我如何做到这一点 以下是我目前正在使用的对象: $scope.profileCompare={ 你:{ 问题回答:[假,真,假,假,假,假], 问题重要性:[假,真,假] }, 比萨饼:{ 问题回答:[真,假,假,假,假,假], 问题重要性:[假,假,真] }, 格林:{ 问题回答:[假,假,假,假,真,假], 问题重要性:[对,错,错] } }您的第一级不是数组,而是键值对字典
$scope.profileCompare={
你:{
问题回答:[假,真,假,假,假,假],
问题重要性:[假,真,假]
},
比萨饼:{
问题回答:[真,假,假,假,假,假],
问题重要性:[假,假,真]
},
格林:{
问题回答:[假,假,假,假,真,假],
问题重要性:[对,错,错]
}
}
您的第一级不是数组,而是键值对字典
您可以使用对象语法((key,value)
)迭代第一层,然后使用数组语法迭代第二层;如下所示:
<table>
<tr ng-repeat="(key, value) in profileCompare">
<td>{{key}}</td>
<td ng-repeat="answer in value.questionAnswer track by $index">{{answer}}</td>
</tr>
</table>
{{key}}
{{答案}
在您的情况下,值
将是一个对象,具有两个属性,问题答案
和问题重要性
使用此语法的缺点是,顺序由浏览器设置,可能与数据集中定义的顺序相同,也可能不同。如果希望能够对数据进行过滤、排序等,则需要首先将对象转换为数组;建议对此任务使用。如果要迭代第一级,则需要以下语法:
ng-repeat="(key, value) in profileCompare"
在这之后,迭代数组属性就非常简单了:
以下是完整的HTML:
<div ng-repeat="(key, value) in profileCompare">
<h2>{{key}}</h2>
<h3>Answers</h3>
<ul>
<li ng-repeat="answer in value.questionAnswer track by $index">
{{answer}}
</li>
</ul>
<h3>Question importance</h3>
<ul>
<li ng-repeat="importance in value.questionImportance track by $index">
{{importance}}
</li>
</ul>
</div>
{{key}}
答案
-
{{答案}
问题重要性
-
{{重要性}
请注意$index的轨迹,因为您正在迭代布尔值,而布尔值肯定会重复
这里有一个提示:你能发布你的HTML代码吗?没有,因为我不知道怎么做。除非你想从各个方面看到一些基本的和衍生的东西,否则我真的很想帮你找到一个最终的解决方案;我不是想批评你的方法或让你删除你的最新问题;我可能有点强悍,但我只是尽力鼓励你展示更多的图片,选择更多的标签,以获得更多的曝光和更好的答案。