AngularJS orderBy不排序数据

时间:2014-03-12 18:40:25

标签: angularjs

我正在尝试对我的一个AngularJS页面中显示的数据进行排序,但是orderBy似乎不起作用,因为当我选择按名称或年龄字段排序时,没有任何反应,除了前2个记录,然后是剩余的表不受排序选择的影响。在我正在使用的代码下面。

template.html

 <div>
                Order By:
                <select ng-model="sortorder">
                    <option selected value="Name">Name</option>
                    <option selected value="Age">Age</option>
                </select>
                <br>
                <table style="width:300px">
                    <tr>
                      <td>Name</td>
                      <td>Age</td>      
                    </tr>
                    <tr ng-repeat="contact in contacts | orderBy:sortorder">
                      <td>{{contact.Name}}</td>     
                      <td>{{contact.Age}}</td>
                    </tr>
                </table>              
      </div>  

控制器:

$scope.sortorder = 'Name';

有人可以通过告诉我这里做错了什么以及如何解决它来帮助我吗?感谢

1 个答案:

答案 0 :(得分:0)

我认为问题的出现是因为您的联系人对象的属性名称。也许你的属性是用小写字母写的(Name!= name)。

这是一个有效的例子:

http://plnkr.co/edit/tGMF9e?p=preview

这里有一个因为排序&#39;而无法工作的人值不等于联系人的属性名称:

http://plnkr.co/edit/Zinmes?p=preview

希望它有所帮助!