用字符串值订购

时间:2019-01-26 05:41:01

标签: angularjs angularjs-ng-repeat

我正在尝试按ng-repeat中的值排序,但似乎不起作用。

我在以下Codepen中重新创建了该问题: CodePen

N.B:orderBy'book.contents.date'无效:111 是第一个,应该是最后一个。

<li class="animate-repeat fc-event" ng-repeat="book in books | orderBy:'book.contents.date'| filter:searchText as results track by book.contents.name"  
             id="{{book.id}}">

1 个答案:

答案 0 :(得分:2)

上面的问题现在是contents.date是数据中的字符串。您需要将其转换为int才能使其正常工作。解决方法是

创建一个将字符串转换为int的函数,

 $scope.sort = function(num) {
    var newNum = parseInt(num.contents.date);
    return newNum;
  };

并在HTML中以命名,

  <li class="animate-repeat fc-event" ng-repeat="book in books | orderBy : sort : false | filter:searchText as results track by book.contents.name"   id="{{book.id}}">

DEMO CODEPEN