Ich arbeite mit Angular im Frontend und ich versuche herauszufinden, wie man einen Filter macht, um am Ende die Ergebnisse mit 2 Eigenschaften in Null zu setzen. Könnte die eine oder andere Eigenschaft sein.Wie mache ich einen Filter, um am Ende die Ergebnisse mit einer Null-Eigenschaft zu setzen?
Zum Beispiel:
<div ng-repeat="show in shows | filter:query | orderBy:'rating':true">
<a href="/shows/{{show._id}}">
<img ng-src="{{show.poster}}" width="100%"/>
</a>
<div>
<a href="/shows/{{show._id}}">{{show.name}}</a>
<p>
Episodes: {{show.episodes.length}} <br>
<span>Rating: {{show.rating}}</span>
</p>
</div>
</div>
Was ich in der HTML tue, nach Bewertung ist die Bestellung wie Sie sehen können. Das Problem ist, dass, wenn die Eigenschaft rating
null
kommt, dann wird dieses Element an der Spitze der Ergebnisse sein, und dann kommen die Elemente mit der höchsten Bewertung in der Liste, wie ich will.
Dies ist das Objekt Ich erhalte:
{
"_id": 310243,
"name": "Five Star Babies: Inside the Portland Hospital",
"airsDayOfWeek": "Wednesday",
"airsTime": "21:00",
"firstAired": "2016-04-13T00:00:00.000Z",
"network": "BBC Two",
"overview": "An exclusive glimpse inside the UK's only private maternity hospital.\r\n",
"rating": null, // THIS PROPERTY COMES NULL
"ratingCount": 0,
"status": "Continuing",
"poster": "/someImage/path",
"subscribers": []
}
Das Objekt kommt von hier:
$scope.shows = Show.query();
und dass $scope.shows
gibt diese:
[
{
"_id": 73787,
"name": "That '70s Show",
"airsDayOfWeek": "Thursday",
"airsTime": "8:00 PM",
"firstAired": "1998-08-23T00:00:00.000Z",
"network": "FOX (US)",
"overview": "Set in the Wisconsin suburbs...",
"rating": null, // PROPERTY NULL
"ratingCount": 87,
"status": "Ended"
"poster": "/some/Img/Path"
},
{
"_id": 35345,
"name": "Friends",
"airsDayOfWeek": "Thursday",
"airsTime": "8:00 PM",
"firstAired": "1998-08-23T00:00:00.000Z",
"network": "FOX (US)",
"overview": "New York TV Show...",
"rating": 9.1,
"ratingCount": 87,
"status": "Ended"
"poster": null // PROPERTY NULL
}
]
, dass das Objekt der Weg, kommt, und diejenigen die 2 Eigenschaften, die ich am Ende der Ergebnisse für den Fall setzen muss th Sie kommen null
, rating
oder poster
.
TL; DR:
SortiertNach Funktion, die Irgendwelche Vorschläge null
an der Spitze der Ergebnisse der Elemente mit den höchsten Ratings, und am Ende die Elemente mit rating
oder poster
=== bringt?
Entweder passen Sie die Daten oder verwenden Sie einen benutzerdefinierten Filter – charlietfl
@charlietfl, wie die Daten angepasst werden, ist das von einer API kommt? – TheUnnamed
Kann die Daten über die Daten durchlaufen, wenn Sie sie empfangen, und "null" in "0" ändern, damit sie richtig sortiert wird. Nicht ungewöhnlich, um Daten zu manipulieren, um besser zu Ihrer App passen – charlietfl