0

i orderBy und LimitTo in Array verwenden möchten, die in anderen Array enthalten ist, so kann ich verwenden ng-Repeat zweimal müssen: i versucht, dies aber nicht funktioniertorderBy und LimitTo in ng-repeat Kind

 <ul ng-repeat="item in customarray | orderBy: 'first.date' | limitTo :10 track by $index"> 
      <div ng-repeat="first in item[1]"> 
       {{first.date | date}} 
      </div> 
     </ul> 

hier sind meine Arrays

[ 
    { 
     "date":"2015-09-29T07:12:14Z", 
     "titre":"Changement date de clôture dossier Barbe Alain", 
     "status":"closed", 
     "tag":"maintenance", 
     "id":660302971, 
     "name":"Eugenie Martin" 
    }, 
    { 
     "date":"2015-09-04T09:45:20Z", 
     "titre":"43325- NH DISTRIBUTION", 
     "status":"closed", 
     "tag":"assistance", 
     "id":660302971, 
     "name":"Eugenie Martin" 
    }, 
    { 
     "date":"2015-08-20T06:18:04Z", 
     "titre":"TR: EURL NH DISTRIBUTION vous a envoyé un message depuis sa plateforme", 
     "status":"closed", 
     "tag":"assistance", 
     "id":660302971, 
     "name":"Eugenie Martin" 
    }, 
    { 
     "date":"2015-02-25T16:00:46Z", 
     "titre":"Votre demande au support sans suite", 
     "status":"closed", 
     "tag":"assistance", 
     "id":660302971, 
     "name":"Eugenie Martin" 
    }, 
    { 
     "date":"2015-01-12T06:48:35Z", 
     "titre":"Bonjour,\n\nle cabinet AUFICOM aura un stand lors du...", 
     "status":"closed", 
     "tag":"assistance", 
     "id":660302971, 
     "name":"Eugenie Martin" 
    }, 
    { 
     "date":"2014-12-18T09:48:38Z", 
     "titre":"ISACOMPTA", 
     "status":"closed", 
     "tag":"maintenance", 
     "id":660302971, 
     "name":"Eugenie Martin" 
    }, 
    { 
     "date":"2014-12-15T14:08:08Z", 
     "titre":"changement date de clôture", 
     "status":"closed", 
     "tag":"maintenance", 
     "id":660302971, 
     "name":"Eugenie Martin" 
    } 
] 

[ 
    { 
     "date":"2016-03-15T10:56:28Z", 
     "titre":"ferme de la blonde", 
     "status":"closed", 
     "tag":"assistance", 
     "id":661671741, 
     "name":"Tanguy Jacob" 
    }, 
    { 
     "date":"2016-03-08T13:51:57Z", 
     "titre":"SCAN DOCUMENTS", 
     "status":"open", 
     "tag":"evolution", 
     "id":661671741, 
     "name":"Tanguy Jacob" 
    }, 
    { 
     "date":"2016-01-05T13:59:31Z", 
     "titre":"EARL DU TROU DE L'ENFER", 
     "status":"closed", 
     "tag":"maintenance", 
     "id":661671741, 
     "name":"Tanguy Jacob" 
    }, 
    { 
     "date":"2015-12-28T06:50:04Z", 
     "titre":"15377- TR: SNC DE LA FERME DE LA BLONDE vous a envoyé un message depuis sa plateforme", 
     "status":"closed", 
     "tag":"assistance", 
     "id":661671741, 
     "name":"Tanguy Jacob" 
    }, 
    { 
     "date":"2015-11-06T09:40:03Z", 
     "titre":"GAEC DE LA VILLE (N°573)", 
     "status":"closed", 
     "tag":"maintenance", 
     "id":661671741, 
     "name":"Tanguy Jacob" 
    }, 
    { 
     "date":"2015-11-02T16:28:05Z", 
     "titre":"43325- NH DISTRIBUTION", 
     "status":"closed", 
     "tag":"maintenance", 
     "id":661671741, 
     "name":"Tanguy Jacob" 
    }, 
    { 
     "date":"2015-06-26T11:41:57Z", 
     "titre":"Dossier 411 : MUNIER Valérie", 
     "status":"closed", 
     "tag":"maintenance", 
     "id":661671741, 
     "name":"Tanguy Jacob" 
    }, 
    { 
     "date":"2015-06-26T11:40:54Z", 
     "titre":"Dossier 6072 : ROBERT Grégory", 
     "status":"closed", 
     "tag":"assistance", 
     "id":661671741, 
     "name":"Tanguy Jacob" 
    }, 
    { 
     "date":"2015-01-15T08:58:07Z", 
     "titre":"Demande De TJ", 
     "status":"closed", 
     "tag":"maintenance", 
     "id":661671741, 
     "name":"Tanguy Jacob" 
    }, 
    { 
     "date":"2014-12-17T10:26:37Z", 
     "titre":"ECOLE DES CAVALIERS", 
     "status":"closed", 
     "tag":"maintenance", 
     "id":661671741, 
     "name":"Tanguy Jacob" 
    } 
] 

Eine andere Lösung wäre, alle Arrays zusammen zu stellen, dann kann ich nur 1 Mal ng-repe verwenden an: aber ich weiß nicht, wie kann ich tun, dass ich mit diesem beginnen:

controller.js

var interarray = [] 
          for(s=0;s<data.length;s++){ 

           interarray.push(data[s]); 

          } 
          console.log(interarray); 
+0

Oder wie kann ich jede Registerkarte in einem Array, dann muss ich nur 1 mal ng-repeat und limitTo und orderBy wird gut funktionieren? – moskitos

+0

Sie können nicht auf eine Variable ('first') zugreifen, die am untergeordneten Element (in diesem Fall das innere' div') an einem übergeordneten Elementelement ('ul') erstellt wurde. –

Antwort

1

Angenommen, Ihre Arrays sind data1 und data2, können Sie concat

$scope.allDatas = data1.concat(data2) 
verwenden

Und Sie brauchen nur den Feldnamen in Ihrem orderBy

http://jsfiddle.net/Lvc0u55v/3915/

+0

Beachten Sie, dass in der Geige 'track by $ index' entfernt wurde, was korrekt ist. Das Verfolgen durch $ index (wie im ursprünglichen Post) stört "orderBy". Die Verfolgung durch "item.id" wäre ebenfalls akzeptabel. (Die Verwendung von 'track by' wird nicht als langsam angesehen). –

-1

ich es finnaly verwalten hier, was ich in meinem Controller tat

  var lastticket = []; 

         for (i=0; i<data.length; i++) { 
          for (j=0; j<data[i][1].length; j++) { 

           $scope.lastarray = lastticket.push(data[i][1][j]); 
          } 
         }; 
         $scope.lastarray = lastticket; 

und meiner Ansicht nach:

<ul ng-repeat="item in lastarray | orderBy:'-date'| limitTo :10 track by $index"> 

       <li class="row"><div class="col-md-2 date text-center">{{item.date | date}}</div><div class="col-md-3 date text-center"> {{item.name}}</div> <div class="col-md-5 date text-center">{{item.titre}}</div> <div class="col-md-2 date text-center">{{item.status}}</div></li> 
     </ul> 

Was ich getan habe ist, dass ich die Schleife 2 mal in meinem Array zu bekommen, was Ich will dann senden ich zu meiner Ansicht! (aber das ist nicht die beste Lösung, die ich angular.forEach verwendet haben sollte)

+0

Kann mir jemand dabei helfen mit angular.forEach? – moskitos