AngularJS orderBy столбец, содержащий список

Можно ли использовать orderBy с чем-то, кроме строк и чисел?

У меня есть список клиентов, и один из столбцов содержит массив значений (список URL-адресов). Я хочу сделать заказ по списку URL, т.е. по первому URL в списке.

Я думал, что массив может быть автоматически преобразован в строку. Я также попытался использовать providerUrls[0] в качестве критерия orderBy.

Я знаю, что мог бы написать свою собственную функцию сортировки, но если есть простое решение для этого, я хотел бы узнать, как ее использовать.

Это сокращенный пример моего кода:

<table>
    <thead>
        <tr>
            <td>
                <p data-ng-click="sortBy = providerUrls; sortReverse = !sortReverse;">
                    URLs
                    <span data-ng-show="sortBy === providerUrls && !sortReverse">
                        <img src="arrow-down.svg"/>
                    </span>
                    <span data-ng-show="sortBy === providerUrls && sortReverse">
                        <img src="arrow-up.svg"/>
                    </span>
                </p>
            </td>
        </tr>
    </thead>
    <tbody>
        <tr data-ng-repeat="provider in providerFilter = (providers | orderBy:sortBy:sortReverse) track by $index">
            <td>
                <p data-ng-repeat="url in provider.urls track by $index">
                    {{url}}
                </p>
            </td>
        </tr>
    </tbody>
</table>

Моя структура данных:

var a = {
    providerId: "a",
    providerUrls: ["abc", "def", "ghi"]
    // more properties
};
// b and c similar

$scope.providers = [a, b, c];

0 ответов

Другие вопросы по тегам