2014-04-15 62 views
0

我希望看到points工作decesecing秩序的基礎,但它沒有,這裏是演示http://jsfiddle.net/uRPSL/34/orderBy降序在我的情況下不起作用?

NG重複

<ul ng-repeat="friend in user"> 
    <li ng-repeat="relation in friend.relationship | orderBy:'points':true">  
     {{relation.name}} 
    </li> 
</ul> 

JS

app.controller('Controller', function ($scope, $rootScope, $location) { 
    $scope.user = [{ 
     'uId': 1, 
      'name': 'Joe', 
      'relationship': [{ 
      'uId': 2, 
       'name': 'Jeremy', 
       'tabs': [{ 
       'tabId': 1 
      }], 
       'tasks': [{ 
       'name': 'Im Jeremy Lin' 
      }], 
      'points': 50 

     }] 
    }, { 
     'uId': 2, 
      'name': 'justin', 
      'relationship': [{ 
      'uId': 3, 
       'name': 'Jordan', 
       'tabs': [{ 
       'tabId': 2 
      }], 
       'tasks': [{ 
       'name': 'Im Jasmin Jacob' 
      }], 
      'points': 100 

     }] 
    }]; 
}) 
+1

我的猜測是,你」因爲它是一個嵌套對象,所以你必須編寫你自己的過濾器。 – Hatsjoem

+0

你有2 ng重複。你的清單有2個項目,每個項目有1個關係。當您將orderBy應用於嵌套的ng-repeat時,它只能對THAT對象中的關係進行排序。如果您希望它們相對於彼此排序,那麼您可能需要更改表示。 – aet

回答

0

在您的例子有每個關係數組中只有1個關係。如果您將項目添加到這些數組中,您可以看到它們正在正確排序。這是你的提琴的更新,與可視性額外的數據: http://jsfiddle.net/8Ub6n/

$scope.user = [ 
    { 
     'uId':1, 
     'name':'Joe', 
     'relationship':[ 
     { 
      'uId':2, 
      'name':'Jeremy', 
      'points':50 
     }, 
     { 
      'uId':2, 
      'name':'Michael', 
      'points':80 
     } 
     ] 
    }, 
    { 
     'uId':2, 
     'name':'justin', 
     'relationship':[ 
     { 
      'uId':3, 
      'name':'Jordan', 
      'points':100 
     }, 
     { 
      'uId':4, 
      'name':'Cameron', 
      'points':15 
     } 
     ] 
    } 
]; 
0

您可以通過在嵌套循環做到這一點:

<ul ng-repeat="friend in user | orderBy:'relationship':'points':true"> 
    <li ng-repeat="relation in friend.relationship">  
     {{relation.name}} 
    </li> 
</ul> 

這裏orderBy:'Array':'expression':reverse

+0

  • {{friend.name}}
  • 如果我只想爲單個用戶加載,該怎麼辦?爲什麼我的上面的html不起作用? – noob

    +1

    您正在嘗試對需要從數組中排序的單個輸出項進行排序。你只能從'li'排序的例子(比如在j.witter的解決方案中),'relation'的數組長度大於1。 – vusan

    相關問題