Ich habe eine Liste von Produkten als Array von Objekt. Möchten Sie dies basierend auf den höchsten Sichten anzeigen. Ich habe versucht, den Dienst "orderBy" zu verwenden. Aber es filtert nicht von meinem angehängten Objekt-Array. Irgendwelche Vorschläge, wie man das macht?Filterung funktioniert nicht auf Array von Objekten in AngularJS
vm.products = [
{
title : 'ABC',
imgSrc: '../../images/product1.png',
viewsCount: '183',
clicksCount: '34'
},
{
title : 'DEF',
imgSrc: '../../images/product1.png',
viewsCount: '158',
clicksCount: '30'
},
{
title : 'GHI',
imgSrc: '../../images/product1.png',
viewsCount: '86',
clicksCount: '32'
},
{
title : 'JKL',
imgSrc: '../../images/product1.png',
viewsCount: '47',
clicksCount: '20'
},
{
title : 'MNO',
imgSrc: '../../images/product1.png',
viewsCount: '62',
clicksCount: '22'
}
];
<md-list>
\t <md-list-item layout="row" layout-align="space-between center"
\t \t ng-repeat="product in vm.products | orderBy:'product.viewsCount'"
ng-click="vm.latestSelectedIndex = $index; vm.selectProduct(product)"
\t \t ng-show="!$first">
\t \t <div flex="80">
\t \t \t <h3 class="product-title">{{product.title}}</h3>
\t \t </div>
\t \t <div class="product-views" flex="20">
\t \t \t <div class="count">{{product.viewsCount}}</div>
\t \t \t <div class="count-label"> Views </div>
\t \t </div>
\t </md-list-item>
</md-list>
Es kann sein, weil Anzahl der Aufrufe Werte Strings sind, so dass sie sie so Sortierung alphabetisch zu sprechen, anstatt numerisch – user184994
ich es in Zahl umgewandelt. Jetzt geht es. Danke ... –