【问题标题】:ng-repeat sort by date doesn't workng-repeat 按日期排序不起作用
【发布时间】:2016-06-20 11:50:49
【问题描述】:

为什么下面的代码没有按日期排序?

http://jsfiddle.net/eliaweiss/1cs3xbtd/1/

html

<div ng-app>
    <script type="text/javascript" src="http://code.angularjs.org/1.0.1/angular-1.0.1.js"></script>
    <div ng:controller="Main">
      <div ng:repeat="(id, i) in items | orderBy:'date'">{{id}}: {{i.date | date}}</div>
    </div>
</div>

js

function Main($scope) {
    $scope.items = {
        0: {date: new Date('12/23/2013')},
        1: {date: new Date('12/23/2011')},
        2: {date: new Date('12/23/2010')},
        3: {date: new Date('12/23/2015')}
    };
}

【问题讨论】:

标签: angularjs


【解决方案1】:

问题很简单.... javascript 对象没有排序,orderBy 因此只适用于数组

将模型结构改为数组

【讨论】:

    【解决方案2】:

    charlietfl 怎么说:

    JS:

    var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope) {
        $scope.items = [
        {
            id: 0,
            date: new Date('12/23/2013')
        },
        {
            id: 1,
            date: new Date('12/23/2011')
        },
        {
            id: 2,
            date: new Date('12/23/2010')
        },
        {
            id: 3,
            date: new Date('12/23/2015')
        }];
    })
    

    HTML:

    <div ng-app="myApp" ng-controller="myCtrl">
      <div ng:repeat="i in items | orderBy:'date'">{{i.id}}: {{i.date | date}}</div>
    </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多