我正在製作一個小型應用程序,用於對用戶具有類似於遊戲排行榜的點列表進行排序。我已經在一個對象數組上設置了一個ng-repeat,並在不同的選項選擇上顯示了一個ng-show,以在列表中顯示一個跨度。跨度顯示不同的得分。AngularJS:OrderBy篩選器選項選擇
我在ng-repeat上添加了一個orderBy過濾器,所以列表從最大值過濾到最小值。例如,當選擇「創建線程」的選項時,「發佈讀取」和「已回覆帖子」的分數被隱藏,並且列表按照創建的線程數(從最大到最小)排序。
它適用於兩個選項值,但不適用於第三個。任何想法爲什麼?
<tr ng-repeat="user in users | orderBy:['-created','-read','-replied']">
<td> {{user.index}} </td>
<td> {{user.firstName}} {{user.lastName}}</td>
<td>
<span ng-show='discussionsSelect == "created"'>{{ user.created }}</span>
<span ng-show='discussionsSelect == "read"'>{{ user.read }}</span>
<span ng-show='discussionsSelect == "replied"'>{{ user.replied }}</span>
</td>
</tr>
您可以在plunker或jsfiddle中複製問題嗎?另外,請發佈一些背後的代碼? – SoluableNonagon 2015-01-26 19:04:26
你爲什麼覺得不工作?你可以發佈一份清單和有序清單嗎? – 2015-01-26 19:04:50
需要查看數據。訂單中的第三項只會在前兩項完全相同時發揮作用。也許你在這種情況下沒有任何數據。 – Scott 2015-01-26 19:06:44