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];