ng-repeat |首先放置一个项目

时间:2015-04-14 14:00:58

标签: angularjs angularjs-ng-repeat

是否可以根据特定条件将物品放在第一位置?在这里,我有一个'问题列表'

<ul class="list-group" data-toggle="items" >
    <li class="list-group-item" ng-repeat="ques in questions">
        <input type="checkbox" ng-click="addRemove(ques)" ng-checked="selected.indexOf(ques) != -1" /> {{ques.question}}
        <span ng-if="ques.description">
            <i class="glyphicon glyphicon-question-sign" title="{{ques.description}}"></i>
        </span>
    </li>
</ul>

我的问题是&#34;无&#34;我希望将它显示在第一位。

谢谢!

2 个答案:

答案 0 :(得分:5)

orderBy with custom sort function

&#13;
&#13;
 angular.module('app', []).
  controller('ctrl', ['$scope', function($scope){
      $scope.items = ['a','b','None','d','e'];

      $scope.custom_sort = function(pred){
        if(pred === 'None') return 1;
      }
  }])
&#13;
<!DOCTYPE html>
<html>

  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.28/angular.min.js"></script>
    <script src="script.js"></script>
  </head>

  <body ng-app="app">
    <div ng-controller="ctrl">
        <div ng-repeat="item in items | orderBy:custom_sort">
          {{item}}
        </div>
    </div>
  </body>

</html>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

加载数据后,您可以检查该条件并插入&#34;无&#34;问题在第一个位置。我在控制器代码中执行此操作(在.success(function(data) { ... }块中。