AngularJS:如何编写升序排序过滤器
我正在学习AngularJS:如何编写升序排序过滤器,angularjs,angularjs-filter,Angularjs,Angularjs Filter,我正在学习AngularJS,并尝试编写升序排序过滤器: 这是我的html文件: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="../Scripts/angular.min.js"></script> <script src="../Scripts/Controllers/app.js">
AngularJS
,并尝试编写升序排序过滤器:
这是我的html文件:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="../Scripts/angular.min.js"></script>
<script src="../Scripts/Controllers/app.js"></script>
</head>
<body ng-app="myApp">
<ul ng-init="names = ['Peter','Anton','John']">
<li ng-repeat="name in names | sortAscending ">
<span>{{name}}</span>
</li>
</ul>
</body>
</html>
-
{{name}}
这是我的过滤器:
app.filter("sortAscending", function () {
return function (input) {
var result = [];
for (var i = 0; i < input.length; i++) {
if (input[i] > input[i + 1]) {
result.push(input[i]);
}
}
return result;
}
});
app.filter(“排序”,函数(){
返回函数(输入){
var结果=[];
对于(变量i=0;i输入[i+1]){
结果推送(输入[i]);
}
}
返回结果;
}
});
我觉得在比较这些值时,循环中出现了一些错误
我做错了什么?orderBy如何:
<ul ng-init="names = [{name:'Peter'}, {name:'Anton'}, {name: 'John'}]">
<li ng-repeat="name in names | orderBy:'+name' ">
<span>{{name}}</span>
</li>
</ul>
-
{{name}}
在名称前面加+表示升序,或者-表示降序
参考:
编辑:正如另一个答案所建议的,请不要使用ng init来声明变量/对象。正如您在AngularJS文档中看到的,可以使用一个简单的控制器,不仅用于大多数目的,更重要的是用于练习目的。orderBy如何:
<ul ng-init="names = [{name:'Peter'}, {name:'Anton'}, {name: 'John'}]">
<li ng-repeat="name in names | orderBy:'+name' ">
<span>{{name}}</span>
</li>
</ul>
-
{{name}}
在名称前面加+表示升序,或者-表示降序
参考:
编辑:正如另一个答案所建议的,请不要使用ng init来声明变量/对象。正如您在AngularJS文档中所看到的,可以使用一个简单的控制器,不仅用于大多数目的,更重要的是用于锻炼目的。三件事:
-
{{name}}
编辑:我想你想把这理解为一种练习,所以我的解决方案只针对你试图解决问题的方式。和前面提到的其他方法一样,您确实可以使用orderby过滤器最终简化这一过程 三件事:
-
{{name}}
编辑:我想你想把这理解为一种练习,所以我的解决方案只针对你试图解决问题的方式。和前面提到的其他方法一样,您确实可以使用orderby过滤器最终简化这一过程 你试过orderBy吗?你试过orderBy吗?