我有一个非常简单的对象数组,我想在
javascript中使用$filter(‘orderBy’)对它进行排序.不知怎的,它似乎不起作用.
jsFiddle
@H_502_10@
您应该将第二个参数作为属性名称名称传递,然后将过滤后的结果分配给所需的范围变量.因此,在UI ng-repeat输出上不需要进行任何过滤.
这是代码
var app = angular.module('myApp',[]); app.controller('myController',function($scope,$filter){ var person = [{ name : "Saras" },{ name : "Arya" }]; $filter('orderBy')(person,'name'); console.log(person); });
我不明白为什么我不能让这个工作?感谢帮助.解决方案应该是JS而不是HTML.
$scope.person = $filter('orderBy')(person,'name'); <div ng-repeat="p in person"> {{p.name}} </div>
如果你想在视图上看到它,你应该将该属性保存在一个范围变量上,或者你可以在显示记录时在客户端进行这种简单的过滤.
<div ng-repeat="p in person | orderBy: 'name'"> {{p.name}} </div>