Я пытаюсь показать данные в html, используя ngTable.
В html я сделал все столбцы "сортируемыми".
<table ng-table="fm.tableParams" class="table" show-filter="false">
<tr ng-repeat="report in $data">
<td title="'ReportId'" sortable="'reportId'" class="text-center">
{{report.reportId}}</td>
<td title="'SampleId'" sortable="'sampleId'" class="text-center">
{{report.sampleId}}</td>
<td title="'MRN'" sortable="'mrn'" class="text-center">
{{report.mrn}}</td>
<td title="'Diagnosis'" sortable="'diagnosis'" class="text-center">
{{report.diagnosis}}</td>
</tr>
</table>
Данные берутся с сервера. контроллер.js
ristoreApp.controller("fmCtrl",
['$scope', 'fmFactory', 'NgTableParams', function($scope, fmFactory, NgTableParams) {
var self = this;
$scope.selection = '0';
$scope.fmSearch = function () {
if ($scope.selection == '0') {
self.tableParams = new NgTableParams({
page: 1, // show first page
count: 10, // count per page
}, {
getData: function (params) {
return fmFactory.getAll().then(function(response) {
var reports = response.data;
params.total(reports.length);
console.log(reports.length);
return reports;
});
}
});
self.tableParams.reload();
}
}
}]
)
Он показывает записи на странице. Однако сортировка не работает ни для одного из столбцов. Что мне нужно сделать, чтобы заставить его работать?
EDIT: Согласно ngtable.com, «вам нужно будет применить значения из NgTableParams.sorting() к данным, которые вы хотите отобразить в своей таблице. Обычно это происходит, когда данные извлекаются с сервера». Однако не сказано, как применить этот метод к данным. Кажется, что ngtable 1.0.0 плохо документирован и не имеет примеров. Может ли кто-нибудь показать мне, как сортировать на стороне клиента?