我对Angularjs很新。我使用ng-table创建了一个表,问题是表头排序不起作用。
此处附带示例代码。
HTML :(样本ng-table)
<table ng-table="tableParams" show-filter="true" class="table">
<thead>
<tr>Row 1</tr>
<tr>Row 2</tr>
<tr>Row 3</tr>
<tr>Row 4</tr>
<tr>Row 5</tr>
<tr>Row 6</tr>
</thead>
<tbody>
<tr ng-repeat="user in $data">
<td sortable="'value1'">{{user.value1}}</td>
<td sortable="'value2'">{{user.value2}}</td>
<td sortable="'value3'">{{user.value3}}</td>
<td sortable="'value4'">{{user.value4}}</td>
<td sortable="'value5'">{{user.value5}}</td>
<td sortable="'value6'">{{user.value6}}</td>
</tr>
</tbody>
</table>
控制器:
$http.get('/portal/api/documents/'+Id).success(function(data){
var data = data.result;
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 10, // count per page
sorting: {
name: 'asc' // initial sorting
}
}, {
total: data.length, // length of data
getData: function($defer, params) {
// Pagination
$defer.resolve(data.slice((params.page() - 1) * params.count(), params.page() * params.count()));
// use build-in angular filter
var orderedData = params.sorting ?
$filter('orderBy')(data, params.orderBy()) :
data;
$defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
}
});
});
答案 0 :(得分:4)
我认为您的问题来自您的排序配置:
sorting: {
name: 'asc' // initial sorting
}
您的某个表格列中似乎没有name
参数(value1,value2,...除非您没有向我们展示您的真实代码)
如果您想对第一列进行排序,请尝试以下方法:
sorting: {
value1: 'asc' // initial sorting
}