2016-04-22 107 views
3

我使用Angular JS和Google Places API來構建一個Web應用程序。AngularJS:OrderBy降序(空條目)

我有一個NG重複目前正在由「等級」降序(排序依據:「 - 評價」)訂購。因此,它會根據評分從降序排列Google Places API JSON文件中的x個地點。

然而,沒有評分的項目/地方歸類爲空,這些條目顯示在我的ng-repeat飼料的頂部。這些應該到達飼料的底部,因爲它們沒有評分?

那麼如何想這一點,看看我的例子是:

<ng-repeat orderBy:'-rating'> 
    <place rating="5"/> 
    <place rating="4.2"/> 
    <place rating="2.8"/> 
    <place rating="null"/> 
    <place rating="null"/> 
</ng-repeat> 

什麼的要對此最好的辦法?

+0

退房這個答案http://stackoverflow.com/questions/18604374/angularjs-orderby-with-empty-field/30028814 – DrinkBird

回答

3

nullundefined排序使用orderBy過濾器進行排序。使用[]符號orderBy:[ '!rating', '-rating', ]

這將顯示底部的nullundefined值。

,如:

<li ng-repeat="option in options | orderBy:[ '!rating', '-rating', ]">{{option.name}}</li> 
+0

謝謝,這個工作一種享受。不知道你可以在orderBy過濾器中使用數組。我很高興我不必浪費時間寫出自定義過濾器。 –

+0

它是在頁面加載工作設置它的範圍變量。但它似乎並沒有在我的選擇框中工作。 我的代碼是像這樣: 查看: 控制器: vm.order = ['!rating',' - rating']; –

+0

你能通過更新你的答案來澄清更多你想要什麼嗎? –