Angularjs 在ng repeat中使用orderBy的自定义订单
我有这样的物体:Angularjs 在ng repeat中使用orderBy的自定义订单,angularjs,angularjs-orderby,Angularjs,Angularjs Orderby,我有这样的物体: students = {name: 'Aa_Student', class: 'A_Class'}, {name: 'Ab_Student', class: 'A_Class'}, {name: 'Ac_Student', class: 'B_Class'}, {name: 'Ba_Student', class: 'B_Class'}, {name: 'Bb_Student', class
students = {name: 'Aa_Student', class: 'A_Class'},
{name: 'Ab_Student', class: 'A_Class'},
{name: 'Ac_Student', class: 'B_Class'},
{name: 'Ba_Student', class: 'B_Class'},
{name: 'Bb_Student', class: 'C_Class'},
{name: 'Bc_Student', class: 'C_Class'}
Name Class
-----------------------------
Ac_Student B_Class
Ba_Student B_Class
Aa_Student A_Class
Ab_Student A_Class
Bb_Student C_Class
Bc_Student C_Class
假设学生对象被洗牌。我使用ng repeat来显示数据。我想按自定义顺序对对象进行排序
例如,我想显示如下数据:
students = {name: 'Aa_Student', class: 'A_Class'},
{name: 'Ab_Student', class: 'A_Class'},
{name: 'Ac_Student', class: 'B_Class'},
{name: 'Ba_Student', class: 'B_Class'},
{name: 'Bb_Student', class: 'C_Class'},
{name: 'Bc_Student', class: 'C_Class'}
Name Class
-----------------------------
Ac_Student B_Class
Ba_Student B_Class
Aa_Student A_Class
Ab_Student A_Class
Bb_Student C_Class
Bc_Student C_Class
所以基本上,我想按学生的班级排序,但它是B_班,然后是A_班,然后是C_班。另外,我想按学生姓名的字母顺序排列。我该怎么做
HTML:
要将
orderBy
设置为对象的属性,只需在标记中引用该属性名称:
ng-repeat="student in students |orderBy:'name' | orderBy:'class'"
您好,您可以创建自定义排序筛选器,请参见此处 html:
<p ng-repeat="s in students |customSorter:'class'">{{s.name}} - {{s.class}} </p>
</div>
知道这是旧的,但可能对其他人有用 您还可以创建一个简单的自定义排序函数。“不完全是过滤器”: 然后像你想的那样使用:
<table>
<tr ng-repeat="student in students | orderBy:customOrder">
...
</tr>
...
有两种方法可以做到这一点(1)自定义过滤器(2)在控制器上缩短数据level@dhavalcengg所以我需要使用过滤器?请注意
$scope.studens
(缺少一个t)中的打字错误。我应该在控制器中写什么?谢谢,但我想先订购B_类。这不是字母顺序。这正是我要找的。谢谢。您好,angular.forEach(items,function(item){filtered.push(item);})代码>我觉得这段代码没有必要,难道说var filtered=items还不够吗代码>
$scope.customOrder = function (item) {
switch (item) {
case 'A_Class':
return 2;
case 'B_Class':
return 1;
case 'C_Class':
return 3;
}
};
<table>
<tr ng-repeat="student in students | orderBy:customOrder">
...
</tr>