현재 일부 정렬이 필요한 테이블에서 작업하고 있습니다. 프로젝트가 Angular (v1.2.12)를 사용하고 있기 때문에 ngTable 모듈을 사용하기 시작했습니다 (v0.3.2).제목을 클릭 할 때 ngTable을 정렬하지 않습니다.
기본 정렬은 제목이지만 연도는 정렬 옵션으로 사용할 수도 있습니다. 페이지를로드 할 때 제대로 작동하지만 표 머리글을 클릭하면 클릭 된 열이 정렬되지만 정렬은 머리글에 반영되지 않으며 정렬 매개 변수도 더 이상 설정되지 않습니다.
디버깅을 시작할 때 params.sorting()은 다음을 반환합니다. {title : undefined} 그 순간부터 더 이상 정렬 가능한 헤더를 클릭 할 수 없으며 더 이상 아무것도 수행하지 않습니다. . 내가 모르는 뭔가가 있다고 생각
은 찾을 수 없습니다 무엇을 생각
다음과 같이 내 데이터는 다음과 같습니다
[{
"year": 2014,
"title": "Golden title"
}, {
"year": 2013,
"title": "Golden title"
}, {
"year": 2013,
"title": "Another title"
}, {
"year": 2014,
"title": "Whetshoverwerd xsade aas"
}, {
"year": 2013,
"title": "Another brilliant title"
}, {
"year": 2013,
"title": "Wherever I may SOAP"
}]
뷰 :
이<table ng-table="tableParams" class="table">
<tbody>
<tr ng-repeat="document in $data">
<td data-title="'Year'" sortable="'year'">{{document.year}}</td>
<td data-title="'Title'" sortable="'title'"><a href="#">{{document.title}}</a></td>
</tr>
</tbody>
</table>
뷰입니다 지시문,
angular.module('appDirectives').directive('myModuleDirective', function() {
// Runs during compile
return {
restrict: 'E',
templateUrl: 'path/to/view.html',
replace: true,
controller: function ($scope, $timeout, $filter, TitleList, ngTableParams) {
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 10, // count per page
sorting: {
title: 'asc' // initial sorting
}
}, {
total: 0, // length of data
getData: function ($defer, params) {
TitleList.get({}, function (data) {
var orderedData = params.sorting() ?
$filter('orderBy')(data, params.orderBy()) :
data;
params.total(orderedData.length);
orderedData = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());
$defer.resolve(orderedData);
});
}
});
}
};
그래서 0.3.2에서 0.3.1로 이동했는데 작동합니까? 0.3.2를 사용하고 있는데 테이블 데이터가 잘로드되지만 헤더를 클릭해도 정렬이되지 않습니다. 테이블 데이터를 동적으로로드하고 있습니다. – Ronnie