angularJs orderBy不基于对象属性值排序对象数组

时间:2015-11-23 05:58:38

标签: angularjs angularjs-directive angularjs-orderby

我有一个带有对象的指令,并且该指令位于包含对象数组的ng-repeat的元素下,我想要实现的是重新排序数组并基于某些对象属性传递对象(这是一个数字的优先权)

<elem ng-repeat="element in array |  orderBy:'precedence ' ">
<my-directive item='element'></my-directive>
</elem>

所以我想要的是要传递给指令的所有元素必须根据优先级重新排序。

并且每个对象内部都会有一些具有相同蓝图的子对象(克隆父对象)。

2 个答案:

答案 0 :(得分:0)

根据文件。

<div ng-app="myApp" ng-controller="Ctrl">
    <div ng-repeat="card in myCards | orderBy:'firstName'">
        <my-directive>{{card.firstName}} {{card.lastName}}</my-directive>
    </div>
</div>

angular.module('myApp', [])
    .controller('Ctrl', function($scope) {
        $scope.myCards = [
            {firstName: 'John', lastName: 'Smith'},
            {firstName: 'Eleanor', lastName: 'Rigby'},
            {firstName: 'Maxwell', lastName: 'Hammer'},
            {firstName: 'Buzz', lastName: 'Aldrin'},
            {firstName: 'Neil', lastName: 'Armstrong'}
        ];
    });

更多详细信息如何创建自己的过滤器,您可以阅读here

答案 1 :(得分:0)

您需要添加对象来自哪个控制器,并且缺少指向元素中的角度表达式,因此可以显示任何内容。

<my-directive> {{ your array element }} </my-directive>