Заказать на Angularjs

Мне нужно создать таблицу, которая упорядочена на основе данного атрибута. Это не работает таким образом. Как я могу это решить?

$scope.values = {
        "sales" : [ {
        "jeans" : {
            "quantity" : "163811",
            "order" : 2
        },
        "shoes" : {
            "quantity" : "101",
            "order" : 1
        },
        "trousers" : {
            "quantity" : "10733",
            "order" : 3
        }]
    };

И вид:

<table>
 <tr ng-repeat="item in values | orderBy:'order'">
  <td>{{item.jeans.quantity}}</td>
  <td>{{item.shoes.quantity}}</td>
  <td>{{item.trousers.quantity}}</td>
 </tr>
</table>

Как упорядочить по порядкуПо:'item.[what_is_needed].order'

спасибо


person aAnduel    schedule 26.10.2017    source источник
comment
Этот повторитель неверен, ключ jeans не является ключом values object, а является ключом sales object. и этот объект имеет синтаксическую ошибку. Пожалуйста, проверьте свой объект.   -  person ferhado    schedule 26.10.2017
comment
Это просто пример. Ключ означает, что должно быть там, чтобы это произошло :D   -  person aAnduel    schedule 26.10.2017
comment
Даже если это пример, предоставление неправильного кода сильно затрудняет помощь людям, потому что неясно, могут ли эти ошибки быть частью вашей проблемы.   -  person scipper    schedule 26.11.2017


Ответы (1)


Для этого массива:

$scope.products = [
    {
        item: {
           quantity: 163811
        }
    }, {
        item: {
           quantity: 150
        }
    }, {
        item: {
           quantity: 350
        }
    }
];

Вы можете использовать следующий синтаксис:

<tr ng-repeat="product in products | orderBy:'item.quantity':true">

См. полный ответ здесь

person Lucky_hunter    schedule 25.12.2017