2017-06-15 52 views
1

我有這個代碼(工作),但在我的腦海裏,它不是'回答'= 1和其他的最有效的方法。最有效的方法來拆分ng-repeat在兩個分開的div

<div id="important-question"> 
 
---> Important questions 
 

 
\t <div ng-repeat="q in questions | filter:{answer:1}" > 
 

 
\t \t <br/><br/><label> {{q.name}} </label><br/><br/> 
 
\t 
 
</div> 
 
</div> 
 

 
<div id="useless-question"> 
 

 
---> \t Useless questions 
 

 
\t <div ng-repeat="q in questions | filter:{answer:0}" > 
 

 
\t \t <br/><br/><label> {{q.name}} </label><br/><br/> 
 
    
 
</div> 
 

 
</div>

如果你看到一個更好的辦法,請告訴我。

謝謝

回答

0

您可以使用groupBy過濾器:

angular.module('app', ['angular.filter']) 
 
.controller('MyController', ['$scope', function($scope) { 
 
    $scope.questions=[ 
 
     {name:'11',answer:1}, 
 
     {name:'12',answer:1}, 
 
     {name:'01',answer:0}, 
 
     {name:'02',answer:0}, 
 
     {name:'3',answer:3}, 
 
    ] 
 
}]);
<script src="//code.angularjs.org/snapshot/angular.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-filter/0.5.16/angular-filter.js"></script> 
 

 
<div ng-app='app' ng-controller="MyController"> 
 
    <div ng-attr-id="{{(key == 1 ? 'important' : 'useless') + '-questions'}}" ng-repeat="(key, value) in questions | groupBy: 'answer'" ng-if='key==1||key==0'> 
 
     {{key == 1 ? 'Important' : 'Useless'}} questions 
 
     <div ng-repeat="q in value" > 
 
      <br/><br/><label> {{q.name}} </label><br/><br/> 
 
     </div> 
 
</div>

+0

謝謝,這正是我想做的事! – Nicogo