angularjs orderBy过滤器不工作



我对angularjs中的日期字段使用orderBy过滤器,但这不起作用。

main.js

    var data = [{name:'A',event_details:{event_start_date:'2015-12-31T00:00:00.000Z'}},{name:'B',event_details:{event_start_date:'2016-12-31T00:00:00.000Z'}}]

index.html

<table class="table table-striped table-bordered table-hover table-condensed responsive mb0" datatable="ng" >
                                <thead>
                                    <tr>
                                    <th>Name</th>
                                    <th>Start Date</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <tr ng-repeat="x in data | orderBy:'event_details.event_start_date'">
                                    <td>{{x.name}}</td>
                                    <td>{{x.event_details.event_start_date | date:'MM/dd/yyyy'}}</td>
                                    </tr>
                                </tbody>
                            </table>

结果是根据第一个colimn(即名称)排序,尽管我已经指定了按开始日期排序。

有人能帮我解决这个问题吗。

可能重复。请参阅此答案以获得良好的解释。这个问题中有两个非常好的答案。

如何在AngularJS中使用嵌套属性排序

index.html

<tr ng-repeat="x in data | orderBy:'event.createdAt'">
    <td>{{x.event.createdAt}}</td>
</tr>

最新更新