2015-05-04 4 views
1

У меня есть набор объектов на дисплее с информацией об этом объекте. Я использую 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 го, если в этом месяце нет объектов, просто не показывайте месяц. Но я не знаю, как я могу группировать по месяцам

+1

С датой никогда не будет равна (отрицая, используя GroupBy фильтра) Я думаю, что ваш лучший выбор сопоставьте данные в месячный массив самостоятельно .. и инциденты будут детьми месяцев. Можно использовать временный объект с месяцами в качестве ключей для первого этапа сопоставления или библиотеки, такой как lodash или подчеркивание, чтобы помочь вам – charlietfl

+0

Почему вы не делаете один запрос, получая только месяц, который вы хотите? как ... request? formdate = xx/xx/xxxx & todate = xx/xx/xxxx –

+0

@BrunoGomes, но если я хочу 12 месяцев, я думаю, что это нехорошая идея, сделать 12 запросов, я думал в ng-if –

ответ

0

Что вы ищете, так это выполнить автоматический разделитель списка.

Смотрите, что хороший Exemple для получения дополнительной информации: http://mcgivery.com/dividing-list-automatically-ionic-framework/

+0

Я никогда не использовал IONIC, но я проверю, может быть, проще, спасибо –

+0

Ionic is просто рамки для создания приложений для телефона в AngularJS. Механика с директивами остается неизменной. – aorfevre

Смежные вопросы