AngularJS orderby:将数组元素保留在顶部

时间:2014-10-26 11:34:14

标签: javascript angularjs angularjs-ng-repeat angularjs-orderby

我已经搜索过,但没有找到我的问题的答案。希望,我搜索得很好! 所以,这是我的问题:

<div id="{{expression.comment_id.$id}}" class="comments" ng-repeat="expression in expressions| orderBy:orderProp"

所以,orderBy效果很好,但我有一个特定的需求: expression.comment_id与&#39; 0&#39; id必须保持最佳状态。

怎么办呢? 我想我必须使用个人过滤器,但我不确定这是否是更有效的解决方案。 如果这是一个好方法,我该如何正确实现它?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

在这里,你为你做了一个小提琴:http://jsfiddle.net/sameersemna/81q9jwg9/

基本上你必须自定义orderBy过滤器:

<ul ng-repeat="expression in expressions | orderBy:myValueFunction">

在控制器中:

$scope.myValueFunction = function(expression) {
        if(expression.comment_id == 0){
            return expression.comment_id;
        }else{
            return expression.orderProp;
        }
    }