Angularjs OrderBy在角度上不起作用

Angularjs OrderBy在角度上不起作用,angularjs,Angularjs,我是角度上的总noob,我试图排序一个数组,它不是一个对象,但过滤器不工作 景色 和控制器 var app = angular.module('miApp', []); app.controller('PruebaController',function($scope,notasModel){ this.notas = notasModel.getNotas(); }) 我试过很多方法,但是桌子没有顺序,顺序都是一样的试试这个: <body ng-app="miApp" ng-

我是角度上的总noob,我试图排序一个数组,它不是一个对象,但过滤器不工作

景色

和控制器

var app = angular.module('miApp', []);

app.controller('PruebaController',function($scope,notasModel){
   this.notas = notasModel.getNotas();
})
我试过很多方法,但是桌子没有顺序,顺序都是一样的

试试这个:

<body ng-app="miApp" ng-controller="CochesController  as c"> 
<div ng-controller="PruebaController as pc">
  <table border="1">
    <tr ng-repeat="nota in pc.notas | orderBy: 'nombre'"  >
      <td>{{nota.nombre}}</td><td> {{nota.edad}}</td>
    </tr>
  </table>
</div>

{{nota.nombre}{{nota.edad}}


angular指令知道您正在排序
nota

尝试如下过滤器:

    <tr ng-repeat="nota in pc.notas | orderBy: 'nombre'"  >
      <td>{{nota.nombre}}</td><td> {{nota.edad}}</td>
    </tr>

{{nota.nombre}{{nota.edad}}

重新阅读文档和示例。OrderBy获取要排序的对象的属性的名称。您正在传递$scope.nota.nombre的值,该值未定义。你想要的是pc.notas | orderBy:'nombre'这样它就可以工作了{{nota.nombre}}{nota.edad}我想这就是我所说的,我只是包括了整个应用程序。但是使用了
ng controller=“PruebaController”>
而不是
ng controller=“CochesController as c”
是的,这就是控制器as和传统控制器使用之间的区别。控制器实际上是首选的。
<body ng-app="miApp" ng-controller="CochesController  as c"> 
<div ng-controller="PruebaController as pc">
  <table border="1">
    <tr ng-repeat="nota in pc.notas | orderBy: 'nombre'"  >
      <td>{{nota.nombre}}</td><td> {{nota.edad}}</td>
    </tr>
  </table>
</div>
    <tr ng-repeat="nota in pc.notas | orderBy: 'nombre'"  >
      <td>{{nota.nombre}}</td><td> {{nota.edad}}</td>
    </tr>