У меня есть набор объектов на дисплее с информацией об этом объекте. Я использую ng-repeat для отображения всех объектов, но теперь я хотел бы реализовать фильтр или функцию, группировать объекты по месяцам, если у меня есть объекты, зарегистрированные в том же месяце, чтобы показать в моем индексе все объекты с этим месяцемКак я могу группировать данные с помощью Angular ng-repeat?
это мой JSON массив, со значением «UPLOAD_DATE», где я хотел бы получить конкретный месяц
"_embedded": {
"incidents": [
{
"id": 20,
"name": "Nombre de incidente",
"description": "Lorem Ipsum is simply dummy text of the printing and typesetting industry.",
"timestamp": "2015-03-13T00:00:00-0600",
"upload_date": "2015-03-31T23:58:19-0600",
"archived": false,
"_links": {
"self": {
"href": "http://incidents-core/app_dev.php/incidents/20"
},
"attachments": {
"href": "http://incidents-core/app_dev.php/incidents/20/attachments"
},
"comments": {
"href": "http://incidents-core/app_dev.php/incidents/20/comments"
}
}
и вот мой HTML код с нг-повтором, это работает
<ul class="list" >
<h1>January</h1><br />**<---- HERE I WOULD LIKE THO SHOW THE MONTH**
<br />
<li class="list__item" ng-repeat="incident in incidents">
<!-- ngrepeat: mostrar total de incidentes-->
<a href="#" data-toggle="modal" data-target="#incidentModal" ng-click="selectIncident($index)">
<!-- /.badgetSection-->
<figure class="list__item__inner">
<div class="bagdets">
<span class="glyphicon glyphicon glyphicon-comment"><span> {{incident._embedded.commentsCount}} </span>
<span class="glyphicon glyphicon glyphicon-picture"><span> {{incident._embedded.attachmentsCount}} </span>
</div>
<!-- ./badges -->
<div class="incident-image">
<img ng-src="{{incident._links.thumbnail.href || 'img/03.jpg'}}">
<p class="incident-type"><span>{{incident._embedded.incident_type}}</span>
</p>
</div>
<figcaption>
<p>{{incident.name}}</p>
<div class="line-separator"></div>
<p>{{incident.description | strLimit: 90 }}</p>
<div class="line-separator"></div>
<p><span class="glyphicon glyphicon-calendar"></span> {{incident.timestamp | date:'EEE - dd/mm/yyyy'}} <span class="glyphicon glyphicon-time"></span> {{incident.timestamp | date:'hh:mm:ss a'}}</p>
<div class="line-separator"></div>
<p> <span class="glyphicon glyphicon-user"></span> {{incident._embedded.employee}}</p>
</figcaption>
</figure>
</a>
</li>
</ul>
Моя идея - показать все зарегистрированные объекты, отсортированные по mon го, если в этом месяце нет объектов, просто не показывайте месяц. Но я не знаю, как я могу группировать по месяцам
С датой никогда не будет равна (отрицая, используя GroupBy фильтра) Я думаю, что ваш лучший выбор сопоставьте данные в месячный массив самостоятельно .. и инциденты будут детьми месяцев. Можно использовать временный объект с месяцами в качестве ключей для первого этапа сопоставления или библиотеки, такой как lodash или подчеркивание, чтобы помочь вам – charlietfl
Почему вы не делаете один запрос, получая только месяц, который вы хотите? как ... request? formdate = xx/xx/xxxx & todate = xx/xx/xxxx –
@BrunoGomes, но если я хочу 12 месяцев, я думаю, что это нехорошая идея, сделать 12 запросов, я думал в ng-if –