为什么有序不在angularjs的ngrepeat工作

why orderBy not working in ngrepeat in angularjs?

本文关键字:ngrepeat 工作 angularjs 为什么      更新时间:2023-09-26

我正试图使用angular js在ng-repeat中使用orderBy。但它无法对我的列表进行排序。这是我的代码?

如何对我的代码进行排序

https://jsfiddle.net/7MhLd/1921/

var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
    $scope.lines = {
        "a" : {name:"bb"},
        "aa": {name: 'aa'},
        "zz": {name:"zz"},
        "oo": {name: 'oo'}, 
        "kk": {name:"k"},
        "j" : {name: "a"},
        "n" : {name:"n"},
        "c" : {name: "c"}
   }
} 

您必须将对象转换为数组才能使其在中工作

<div ng-controller="MyCtrl">
  <div ng-repeat="line in lines | orderBy:'name'">
    <div class="preview">{{line.name}} {{$index}}</div>
  </div>
</div>

和控制器

var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
    $scope.lines = [
       {name:"bb"},
    {name: 'aa'},
    {name:"zz"},
    {name: 'oo'}, 
    {name:"k"},
    {name: "a"},
    {name:"n"},
    {name: "c"}
];
}