2017-10-26 6 views
2

Ich muss eine Tabelle erstellen, die basierend auf dem angegebenen Attribut sortiert ist. Es funktioniert nicht so. Wie kann ich es lösen?Order by on Angularjs

$scope.values = { 
     "sales" : [ { 
     "jeans" : { 
      "quantity" : "163811", 
      "order" : 2 
     }, 
     "shoes" : { 
      "quantity" : "101", 
      "order" : 1 
     }, 
     "trousers" : { 
      "quantity" : "10733", 
      "order" : 3 
     }] 
    }; 

Und die Aussicht:

<table> 
<tr ng-repeat="item in values | orderBy:'order'"> 
    <td>{{item.jeans.quantity}}</td> 
    <td>{{item.shoes.quantity}}</td> 
    <td>{{item.trousers.quantity}}</td> 
</tr> 
</table> 

Wie durch sein orderBy bestellen sollte: 'item [what_is_needed] .order.'

dank

+1

Dieser Repeater ist falsch, die Taste '' Jeans ist kein Schlüssel von 'Werte object', vielmehr ist ein Schlüssel von' Verkäufe object'. und dieses Objekt hat einen Syntaxfehler. Bitte überprüfen Sie Ihr Objekt. –

+0

Es ist nur ein Beispiel. Schlüssel bedeutet, was geschehen sollte: D – aAnduel

+0

Auch wenn es ein Beispiel ist, macht es die Bereitstellung von falschem Code sehr schwierig für Leute, Ihnen zu helfen, weil es nicht klar ist, ob diese Fehler auch Teil Ihres Problems sein könnten. – scipper

Antwort

0

Für dieses Array:

$scope.products = [ 
    { 
     item: { 
      quantity: 163811 
     } 
    }, { 
     item: { 
      quantity: 150 
     } 
    }, { 
     item: { 
      quantity: 350 
     } 
    } 
]; 

Sie können die verwenden folgende Syntax:

<tr ng-repeat="product in products | orderBy:'item.quantity':true"> 

Die gesamte Antwort here