gpt4 book ai didi

angularjs - Angular 中带有未定义值的自定义过滤器

转载 作者:行者123 更新时间:2023-12-03 22:19:01 25 4
gpt4 key购买 nike

我在 Angular 中有一组对象,我试图以一种非常具体的方式对其进行排序,但我无法弄清楚。

这是示例 Javascript:

var app = angular.module('app', []);

function Ctrl($scope) {
$scope.divisions = [
{'group':'d','sub':1},
{'group':'a'},
{'group':'z','sub':2},
{'group':'g','sub':20},
{'group':'g'},
{'group':'r','sub':11}];
}

这是示例 HTML:
<div class="test" ng-controller="Ctrl">
<div ng-repeat="division in divisions | orderBy:['sub','group']">{{division.group}}-{{division.sub}}</div>
<div>

这是 fiddle : https://jsfiddle.net/r4nsyp2v/1/

而不是它显示如下:
d-1
z-2
r-11
g-20
a-
g-

我希望它显示如下:
g-20
r-11
z-2
d-1
a-
g-

因此,如果存在,我想从最大到最小显示“sub”键,然后是未定义的“sub”键。并按组按字母顺序显示带有未定义“子”键的对象。

我还没有找到诀窍……有什么想法吗?

最佳答案

您可以像这样创建自定义订单:

$scope.order = function(division) {
return -(division.sub || 0);
}

在 HTML 中
<div ng-repeat="division in divisions | orderBy:order">

参见示例 https://jsfiddle.net/r4nsyp2v/2/

关于angularjs - Angular 中带有未定义值的自定义过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29398610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com