2016-04-25 71 views
0

我有一個表格來指示某些團隊的結果,每個團隊都有兩個值 - PTS(點)和GD(目標區別)。通過幾個屬性排序ng-repeat

數據看起來是這樣的:

A: PTS=3, GD=+3, 
B: PTS=2, GD=+1, 
C: PTS=2, GD=-1, 
D: PTS=0, GD=-1 

我想通過NG-重複顯示它們,在PTS的順序首先是(如上)。但是如果任何球隊與另一個球隊的得分相等,則需要由GD(淨勝球)來決定。最後,如果連這個都排序,我想讓它回到字母順序。

我知道如何使用orderBy,然後可以使用teamName propery(A,B,C)等來排序它們。

我猜測它是像創建自定義排序依據過濾是這樣的:

orderBy="{{pts || gd || teamName}}" 

我不知道的語法雖然,或者把這個代碼。我可以將上述邏輯附加到一個變量,然後按順序調用它嗎?或者它是一個過濾器?

任何幫助,這將不勝感激。

+0

https://docs.angularjs.org/api/ng/filter/orderBy –

回答

0

要使用多個字段中使用排序依據,你必須在數組如[ 'PST', '廣東', 'teamName']添加此領域

現在的數據是:

 A: PTS=3, GD=+3, 
     B: PTS=2, GD=+1, 
     C: PTS=2, GD=-1, 
     D: PTS=0, GD=-1 

如果考慮「A」,「B」,「C」&「D」是團隊名稱。

  • teamName - >升序順序
  • GD - >升序順序
  • PTS - >降序順序

然後ORDERBY語法是:

 orderBy:['-pst', 'gd', 'teamName'] 

***「-pst」用於以降序顯示pst元素