-1
如果我有值的数组:AngularJS自定义排序
[1,2,3,4,N/A,N/A,N/A]
如何创建自定义排序orderBy使字符串总是出现在底部?
升序例如:
[1,2,3,4,N/A,N/A,N/A]
降序例如:
[4,3,2, 1,n/a,n/a,n/a]
我试过使用函数表达式,但是并没有做我所需要的。函数表达式只返回要排序的值,但是如何使用我自己的排序顺序?
如果我有值的数组:AngularJS自定义排序
[1,2,3,4,N/A,N/A,N/A]
如何创建自定义排序orderBy使字符串总是出现在底部?
升序例如:
[1,2,3,4,N/A,N/A,N/A]
降序例如:
[4,3,2, 1,n/a,n/a,n/a]
我试过使用函数表达式,但是并没有做我所需要的。函数表达式只返回要排序的值,但是如何使用我自己的排序顺序?
您可以创建自定义过滤器,根据需要对阵列进行排序。
app.filter('customOrderBy', function() {
return function (arr) {
var numbers = [];
var strings = [];
angular.forEach(arr, function(item){
if(typeof item == 'number'){
numbers.push(item);
}
else
strings.push(item);
});
return numbers.sort().concat(strings);
};
});
阵列上你的NG-重复看起来象下面这样:
<div ng-repeat="item in array | customOrderBy track by $index">
请注意,我用“轨道由$指数”那里,因为AngularJS NG重复指令,不允许在重复中继器。 (你在你的数组中有重复的“n/a”字符串)
Plunker这里按升序排列[2,3,1,4,'n/a','n/a ','n/a']:http://plnkr.co/edit/jmHly0lDb5IVeWd2XvHp?p=preview
非常感谢,我是新角度,这正是我需要的。 – 2014-10-07 02:04:50