簡體   English   中英

表排序(使用ng-repeat並使用ng-if刪除重復的列名稱)

[英]Table Sorting (Using ng-repeat and removing repeat column name using ng-if)

我在使用ng-repeat的表中有一些數據,排序很好。 請看第一個小提琴。

http://jsfiddle.net/HB7LU/10201/

<tr ng-repeat="each in list | orderBy:predicate:reverse">

我正在嘗試找到一種具有第一列(名稱)的方法,如果下一行具有相同的名稱,則不重復該名稱。 參見第二個小提琴。

http://jsfiddle.net/HB7LU/10204/

<td ng-show="list[$index].name != list[$index-1].name">{{each.name}}</td>

最初這將起作用,直到對列進行排序為止。 如果單擊標題,則列將排序,但數據不正確。 我知道這是由於我使用$ index的列表。 我不確定是否可以使用其他方式? 或者我想知道是否有更好的方法可以做到這一點。

如果需要更多信息,請告訴我。 謝謝! Ť

這是因為在對項目進行排序時, $index發生變化,而重復的項目可能不再是上一個或下一個(由邏輯list[$index].name != list[$index-1].name )。 您可以使用ng-init設置/別名化ng-repeat的初始索引,因為不監視ng-initted值,它們不會隨着排序而改變。

 <tr ng-repeat="each in list | orderBy:predicate:reverse" ng-init="index= $index">

小提琴

從文檔

ngInit的唯一適當用法是為ngRepeat的特殊屬性添加別名,如下面的演示所示。 除了這種情況,您應該使用控制器而不是ngInit來初始化作用域上的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM