2016-11-09 10 views
-1

現在の配列に順序付けられたng-repeatの前の要素を比較しようとしています。 2つの予定が同じDateStringを持つ場合、私はそれを印刷したくありません。あなたはng-ifでそれを防止しようとしているのを見ることができます。順序付き配列の前のng-repeat要素にアクセスする方法

<div ng-repeat="appointment in appointments | orderBy: 'milliSeconds' " ng-if="!noAppointments"> 
       <div class="row row-date" ng-if="appointments[$index - 1].DateString != appointment.DateString"> 
        <div class="col"> 
         {{appointment.DateString}} 
        </div> 
       </div> 
      </div> 

これは機能しません。あなたには、これがどうやって行えるかについての提案はありますか?

+0

予定表内の予定を変更するだけですか?orderBy: '$ 1'が$ [ 1]。とにかく、これはこの種の問題に対処する正しい方法ではないと考えています。ロジックはコントローラに残し、ビューには残さないでください。おそらく、 '$ scope.appointments'変数に' foreach'を使用して、 'appointment.show'を振る舞いにし、' ng-if'でそれを使用するべきでしょう。 – Naigel

+0

ちょうど$ index!= 0でも追加できますそれは問題を引き起こすようではありません。これは時々間違っている。私は、orderByは実際には$ indexがまだインクリメントする配列の順序を変更しないためだと思う。 – Evan

+1

@Naigelコントローラにロジックを移そうとしたが、問題に遭遇した。私は戻ってそこでそれを処理しようとします – Evan

答えて

0

コントローラでアレイをソートし、そこにロジックを移動してこれを解決しました。

関連する問題