0

持つ

<div class="item" data-ng-repeat="course in courses | filter:filterCourses | orderBy:predicate">...

$scope.predicate = function(course) {
    //$scope.orderProp
};

できるように、述語の中にどのコードを入れる必要がありますか

  1. デフォルトの orderBy:predicate が注文するのと同じ方法で注文します(これが意味があるかどうかはわかりません)
  2. リストの最後に空の course.StartDate を配置します

ノート:

  • course は、タイトル、開始日、コードなどのさまざまなプロパティを持つオブジェクトです
  • $scope.orderProp には、並べ替えの基準となる値 (タイトル、開始日、コード) が含まれています。startDate が空の場合、これらのアイテムをリストの最後に配置したいのですが、日付で適切にソートし続けます。開始日は「整数」であり、後で ng-date を使用してより適切な形式で表示します

ありがとうございました

回答: これが私が最終的に得たものです http://jsfiddle.net/3hz2j8j7/

4

2 に答える 2

1

コンスタンティノスの回答に加えて、正確なデータを使用してjsfiddleを実行しました。すべての Angular マジックが入っています

<div ng-repeat="course in courses|orderBy:[nonEmptyStartDate,orderProp]:true">

ここで、orderProp='title' の場合、最初のデータは最初に空でない日付で、次にタイトルで並べ替えられます。お知らせください 。

于 2014-09-11T07:26:05.377 に答える