我的JSON文件包含服装尺寸及其库存数量。
[{"46":0},{"48":0},{"50":0},{"52":0},{"54":0},{"56":0},{"58":0},{"60":0},{"94":0},{"98":0},{"102":0},{"106":0},{"110":0},{"24":0},{"25":0},{"26":0},{"27":0},{"28":0}]
我正在尝试打印像这样的尺寸名称:
<li ng-repeat="(size, stock) in sizes">
{{ size }}
</li>
所有它显示我是一个0到17的列表。有没有办法打印大小名称而不必在键上添加一个字母?
答案 0 :(得分:1)
使用:
<ul ng-repeat="size in sizes">
<li ng-repeat="(size, stock) in size">
{{size}}
</li>
</ul>
答案 1 :(得分:1)
问题不在于关键。问题是你在对象数组上进行迭代,并且键将是0-17
,值将是像{"46":0}
这样的对象。
如果您可以修改JSON,请将其修改为:
[ { size: 46, quantity: 10 }, { size: 47, quantity: 11 }, ... ]
然后你可以参考这样的尺寸和数量:
<li ng-repeat="sizeEntity in sizes">
{{ sizeEntity.size }}: {{ sizeEntity.quantity }}
</li>
希望肝脏。
答案 2 :(得分:0)
你可以重复一遍。结帐plnkr
<li ng-repeat="(size, stock) in sizes">
<span ng-repeat="(key, item) in stock">
{{key}} : {{item}}
</span>
</li>
答案 3 :(得分:0)
尝试以下方法:
<li ng-repeat="size in sizes"> <p ng-repeat="(key, value) in size"> {{ key }}: {{ value }}</p> </li>
答案 4 :(得分:0)
不是使用相当昂贵的两个ng-repeats,而是使用能够获得大小值的函数来改善
$scope.getSize = function(size){
return Object.keys(size)[0];
}
或创建自定义过滤器
app.filter('getSize', function(){
return function(data){
return Object.keys(data)[0];
}
})
以下是plnkr
使用它们的示例