1

アイテムのリストを子プロパティで並べ替えるにはどうすればよい"active" : trueですか? 最初のノードは、すべてのフレンドに対して動的に挿入される ID です。

<li data-ng-repeat="friend in friends|orderBy:'friend.active':true">
        <span class="name">{{friend.name}}</span>
        <span class="phone">{{friend.lastName}}</span>
</li>

$scope.friends = {
    "12345": {
        "name": "Dhiraj",
        "lastName": "Agarwal",
        "active" : false
    },
    "23456": {
        "name": "Poonam",
        "lastName": "Mittal",
        "active" : false
    },
    "34567": {
        "name": "Suresh",
        "lastName": "Bansal",
        "active" : true
    },
    "45678": {
        "name": "Usha",
        "lastName": "Goel",
        "active" : false
    }
};
4

2 に答える 2

0

で解決策を得ました

http://justinklemm.com/angularjs-filter-ordering-objects-ngrepeat/

github.com/fmquaglia/ngOrderObjectBy

新しいフィルターを作成し、それを注文するために使用しました

plnkr : plnkr.co/edit/4eCq7yaVyXGZB8etLZhN?p=プレビュー

<li data-ng-repeat="friend in friends|orderObjectBy:'active':true">

app.filter('orderObjectBy', function() {
  return function(items, field, reverse) {
    var filtered = [];
    angular.forEach(items, function(item) {
      filtered.push(item);
    });
    filtered.sort(function (a, b) {
      return (a[field] > b[field] ? 1 : -1);
    });
    if(reverse) filtered.reverse();
    return filtered;
  };
});
于 2015-06-05T18:30:54.490 に答える