각 테이블 필드별로 정렬을 사용하고 싶습니다. 프로젝트에서 작업하는 데 몇 분이 걸렸는지를 보여주는 하나의 열이 있지만이 필드로 정렬하면 제대로 작동하지 않습니다.AngularJS 시차 별 정렬
<table>
<th ><a href="" ng-click="sortBy='task.company_name'">Company</a></th>
<th><a href="" ng-click="sortBy='timediff(task.time_start,task.time_stop)'">Time difference</a><th />
<tr ng-repeat="task in tasks | orderBy:sortBy">
<td >{[{ task.company_name }]}</td>
<td >{[{ timediff(task.time_start,task.time_stop) }]}</td>
</tr>
</table>
timediff 기능 :
$scope.timediff = function(start, end){
var start = moment(start);
var end = moment(end);
var diff = end.diff(start,'minutes',true);
return (diff/60).toPrecision(3);
};
Plunker : http://plnkr.co/edit/vdkfNkgpdLUp9RgZ1IvO?p=preview
성능 조언 : 정렬 된 목록은 특정 순간에 계산되어야합니다. 예를 들어 정렬 기능을 변경할 때 d를'tasks'리스트와 비교하여 콜렉션 워처에 저장합니다. 그렇지 않으면 각 요약주기마다 정렬됩니다. – lib3d