我在Angular中有一个像这样的数组:
$scope.test = [
{'item1' : 'answer1' },
{'item2' : 'answer2' },
{'item3' : 'answer3' }
];
等等......
现在有两件事我想做。首先,我想使用ng-repeat来遍历数组并分别显示键和值。我试过这个:
<div ng-repeat="(key,value) in test">
{{key}} = {{value}}
</div>
但是这会产生这样的结果:
0 = {"item1" : "answer1"}
1 = {"item2" : "answer2"}
2 = {"item3" : "answer3"}
我希望它显示如下:
item1 = answer1
item2 = answer2
item3 = answer3
我要做的第二件事是使用键来显示来自不同阵列的结果。例如,我有这个数组:
$scope.item1.question = 'some question';
因此,当我要完成ng-repeat时,我想做这样的事情:
{{key}}.question
显示字符串'some question'
。
但这并没有做任何事......
答案 0 :(得分:3)
ng-repeat
s。 ng-repeat
仅循环遍历数组,因此它将元素的索引写为键。您需要嵌套另一个ng-repeat来迭代所包含的对象:
<div ng-repeat="obj in test">
<div ng-repeat="(key,value) in obj">
{{key}} = {{value}}
</div>
</div>
要使用来自ng-repeat
内另一个对象的动态密钥访问对象,请使用允许表达式的数组表示法:
$scope.model = {
item1: {
question : 'some question 1'
},
item2: {
question : 'some question 2'
},
item3: {
question : 'some question 3'
}
};
HTML:
<div>
{{ model[key].question }}
</div>
<强> Fiddle 强>