Winkel-orderBy-Objekt möglich?
Habe ich ein JSON-Objekt, Kalender-Termine. Diese Hinzugefügt werden durch ein CMS und ich möchte in der Lage sein, Sie zu filtern, basierend auf dem Datum. Mein schema-set-up gemacht hat dies schwieriger als ich dachte. Ist es möglich, orderBy den Tag-Wert in diesem JSON-Objekt oder ist es ein filter Abhilfe?
Hier mein JSON-Objekt:
{
"_id" : ObjectId("53f252537d343a9ad862866c"),
"year" : {
"December" : [],
"November" : [],
"October" : [],
"September" : [],
"August" : [],
"July" : [
{
"day" : "21",
"title" : "Event Title",
"summary" : "Event Summary",
"description" : "oEvent Description",
"_id" : ObjectId("53f252537d343a9ad862866d")
}
],
"June" : [],
"May" : [],
"April" : [],
"March" : [],
"February" : [],
"January" : []
},
"__v" : 0
}
Hier ist meine Ansicht, die bereits verwendet einen benutzerdefinierten filter filtern, indem Sie Monat. Die orderBy funktioniert nicht, aber ich habe es als Platzhalter, um zu zeigen, wo ich möchte, um die Funktionalität.
<div class="calDynamic" data-ng-repeat="n in [] | range:100">
<div ng-repeat="cal in calendar[n].year | filterKey:month">
<div ng-if="cal != '' ">
<div class="calendar">
<div ng-repeat="item in cal | orderBy: 'key.day' ">
<a href="/events/{{item.day}}">
<article class="eventslist">
<div class="numberedDate">
<h3>{{item.day}}</h3>
</div>
<div class="calInfo">
<h5>{{item.title}}</h5>
<p>{{item.summary}} <a>more</a></p>
</div>
</article>
</div><!-- ng-repeat val,key -->
</div><!-- calendar -->
</div><!-- ng-if cal -->
</div><!-- ng-repeat cal -->
</div><!-- calDynamic -->
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie in der Lage, um eine benutzerdefinierte Sortierfunktion, die Arten, die von jedem Element in Ihrem Objekt. Der Schlüssel bit zu konvertieren das Objekt in ein array in der Funktion filter.
Hier ein Beispiel:
Würden Sie dann nennen mag:
Hinweis, Sie sollten nicht schreiben
val.day
wie das ausgegangen ist.Aussehen auf diesem tollen blog hier posten für mehr info.
BEARBEITEN: In der Tat, es sieht aus wie Ihre Struktur ist eigentlich schon ein array, so dass während diese Technik wird immer noch funktionieren, kann es nicht notwendig sein - es könnte nur die Art und Weise Sie wurden zusätzlich die parameter orderBy, die verursacht wurde Probleme.
orderByDayNumber
im filter stattorderBy
?