我有一个对象数组,其中每个对象都可以有一个属性数组,比如
[
{
name: 'Big house',
properties: [{name: 'Area',value: '400'}, {name: 'Year',value: '1950'}]
},
{
name: 'Small house',
properties: [{name: 'Area',value: '400'}, {name: 'Year',value: '1950'}]
},
{
name: 'Green house',
properties: [{name: 'Area',value: '40'}, {name: 'Year',value: '2008'}]
},
{
name: 'Red house',
properties: [{name: 'Area',value: '250'}, {name: 'Year',value: '1999'}]
},
];
现在我想通过其中一个属性(比如Area)使用ng-repeat中的过滤器来命令此列表。这可能吗?
我在plunker(http://plnkr.co/edit/GEgLxv5zJyW0ZBTtJR5S?p=preview)中一直在玩这个但是无法弄明白该怎么做。
提前致谢
答案 0 :(得分:0)
如果区域始终是第一个属性,这将起作用:
<tr ng-repeat="house in houses | orderBy:'properties[0].value'">
还要确保该区域被定义为整数,现在它们是字符串。所以250将在40之前排序。
请删除数字中的引号:
{
name: 'Area',
value: 400
}
, {
name: 'Year',
value: '1950'
}