2015-09-07 34 views
1

我有這個網站:名單離子與條件

<ion-content> 
<div class="bar bar-header bar-light"> 
    <h1 class="title">{{ 'SchoolHours' | translate}}</h1> 
</div> 
<ion-list> 
    <ion-item ng-repeat="day in days"> 
     {{day}} 
     <ion-list> 
      <ion-item ng-repeat="subject in list_subjects"> 
       <h2>{{subject.theme.name}}</h2> 
       <h3>{{subject.hour_ini}} - {{subject.hour_finish}}</h3> 
       <h3>{{ 'Teacher' | translate }} : {{subject.teacher.name}} - {{subject.teacher.mail}}</h3> 
      </ion-item> 
     </ion-list> 
    </ion-item> 
</ion-list> 

陣列是這樣的: 「星期一」, 「星期二」,..] list_subjects數組有物體。這些對象具有稱爲週日的屬性。

我想在第二個HTML列表中,它只列出與當天數組匹配的對象。

謝謝!

回答

2

解決方案#1

你需要讓自己的過濾器用於此目的,這將是這個樣子

.filter("filterByDays", function(filterFilter){ 
    return function (subjects, day) { 
    return filterFilter(subjects,{weekday:day}) 
    }; 
}); 

而且使用這樣的

<ion-item ng-repeat="subject in subjects|filterByDays:day"> 

演示用您的代碼:http://play.ionic.io/app/a2238d1002a1
有關如何編寫自己的過濾器的文檔:https://docs.angularjs.org/tutorial/step_09

解決方案#2

嗯,這是最簡單的一個,你應該使用https://github.com/a8m/angular-filter提供GROUPBY過濾器,在這種情況下,你就不必使用days陣列由天,使受試者組。此過濾器將使用主題的weekday屬性進行所有分組。看我的answer如何使用。
演示與您的代碼:http://play.ionic.io/app/9f069e28c42a
注: 不要使用ng-if你的情況下,使用的過濾器是這幾樣situdations的最佳和優化的解決方案。