2016-11-08 1 views
1

Ich brauche Hilfe bei der Bestellung von JSON in ng-repeat. Ich möchte meine Daten nach item.id (von der höchsten zur niedrigsten) bestellen. Ich habe versucht, viele Tipps, die über das Internet, aber vielleicht bin ich nur etwas falsch machen, weil keiner von ihnen für mich ... Mein Code arbeiten:JSON-Daten in Angular (Ionic) bestellen

$http.get('http://jastrzebieonline.pl/drogi/data/najnowsze.php') 
    .success(function(res){ 
    $scope.news = res; 
    console.log("Ok"); 
    }) 
    .error(function(data, status) { 
    console.log("Error"); 
}) 

<div ng-repeat="item in news"> 
    <a href="{{ item.id }}"> 
     <img src="{{ item.image }}"> 
     <h2>{{ item.title }}</h2> 
     <p>{{ item.date }}</p> 
     <p>{{ item.text }}</p> 
    </div> 
    </a> 
</div> 
+0

Stellen Sie sicher, 'id' Eigenschaft vom Typ integer ist. Dann einfach "ng-repeat =" item in news | orderBy: '- id' "' – devqon

Antwort

1

Sie können die orderBy Filter verwenden:

<div ng-repeat="item in news | orderBy:'id'"> 
    <a href="{{ item.id }}"> 
     <img src="{{ item.image }}"> 
     <h2>{{ item.title }}</h2> 
     <p>{{ item.date }}</p> 
     <p>{{ item.text }}</p> 
    </div> 
    </a> 
</div> 
0

Sie können den "OrderBy" -Filter verwenden, um die Aufgabe zu erledigen.

Übrigens sollten Sie 'ngHref' und 'ngSrc' Direktiven anstelle des ursprünglichen Attributs 'href' und 'src' verwenden.

<div ng-repeat="item in news | orderBy:'id':true"> 
    <a ng-href="{{ item.id }}"> 
     <img ng-src="{{ item.image }}"> 
     <h2>{{ item.title }}</h2> 
     <p>{{ item.date }}</p> 
     <p>{{ item.text }}</p> 
    </div> 
    </a> 
</div> 

Referenzen:

https://docs.angularjs.org/api/ng/filter/orderBy

https://docs.angularjs.org/guide/filter

+0

Funktioniert nicht. Ich habe versucht: Artikel in Nachrichten | orderBy: -id Artikel in Nachrichten | orderBy: '-id' Artikel in Nachrichten | orderBy: -item.id Artikel in Nachrichten | orderBy: '-item.id' Ich habe Fehler in der Konsole: Fehler: [orderBy: notarray] Erwartete Array –

+0

Dann sollten Sie 'console.log (res)' vor console.log ("Ok") hinzufügen, um zu sehen, was Sie sind wie. – Declan

+0

Res ist nur Objekt Ich habe versucht, es zu konvertieren, aber immer noch nicht funktioniert. Ich arbeite es aus: Artikel in Nachrichten | toArray: wahr | orderBy: '-id' toArray Filter ist hier: https://github.com/petebacondarwin/angular-toArrayFilter –