排序和格式化日期角度

时间:2015-09-13 23:33:51

标签: angularjs

我有一些数据,我使用角度和数据表显示。现在我想要按日期对这些数据进行排序。我的代码看起来像这样。

<table dataTable="ng"
       class="table table-striped table-bordered hover"
       dt-options="dtOptions">
    <thead>
    <tr >
        <th>Date/Time</th>
        <th>Created By</th>
      ...
    </tr>
    </thead>
    <tbody>
    <tr ng-repeat="x in items | orderBy : 'timestamp' : true">
        <td>{{x.timestamp | date: 'medium'}}</td>
        <td>{{x.user.firstname}} {{x.user.lastname}}</td>
    ...
    </tr>
    </tbody>
</table>

然而,似乎我只能格式化日期或排序它,但不能同时排序。如果我删除格式,它会排序,否则不会。

任何人都知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

没有问题(运行代码段...)。

这是你想做的吗?

请注意,我删除了表指令并将其替换为ng-controller,这可能会导致您出现问题?

&#13;
&#13;
angular.module('myApp', []);

angular
  .module('myApp')
  .controller('myTable', MyTable)

function MyTable($scope){
    $scope.items = [
      {
        timestamp : 1442188000000,
        user: {
          firstname : 'George'
        }  
      },
      
      {
        timestamp : 1442189022149,
        user: {
          firstname : 'John'
        }  
      },
      {
        timestamp : 1442199022149,
        user: {
          firstname : 'David'
        }  
      }
    ]  
}  
&#13;
	<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>


<table ng-app="myApp" ng-controller="myTable">
    <thead>
    <tr >
        <th>Date/Time</th>
        <th>Created By</th>
    </tr>
    </thead>
    <tbody>
    <tr ng-repeat="x in items | orderBy : 'timestamp' : true">
        <td>{{x.timestamp | date: 'medium'}}</td>
        <td>{{x.user.firstname}} {{x.user.lastname}}</td>
    </tr>
    </tbody>
</table>
&#13;
&#13;
&#13;