大佬教程收集整理的这篇文章主要介绍了angularjs – Angular orderBy数字排序为ng-repeat中的文本,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
[{"id":"42","firstname":"Sarah","lastname":"Dilby","age":"40","cars":"Yaris"},{"firstname":"Jason","lastname":"Diry","age":"5","id":"5"},{"id":"6","firstname":"Bilson","lastname":"Berby","age":"1","cars":"Tipo"}]
当我在Ng-repeat中按顺序id或年龄时,它会将数字排序为文本.由于我无法在任何地方发现这是一个问题,我猜我的代码存在问题.我创建了这个小提琴:http://jsfiddle.net/vsbGH/1/抱歉模板,但jsfiddle不允许在html框中.无论如何,这是加载和排序数据的代码:
//user data app.service('People',function() { var People = {}; People.details = [{"id":"42","cars":"Tipo"}] return People; }); //list ctrl controllers.listCtrl = function ($scope,PeoplE) { $scope.people = People.details; $scope.sortList = function(sortName) { $scope.sorter = sortname; } }
这是模板的ng-repeat部分:
<tr ng-repeat="person in people | orderBy:sorter "> <td>{{person.id | number}}</td> <td>{{person.firstnamE}} </td> <td>{{person.lastnamE}} </td> <td>{{person.age | number}}</td> <td>{{person.cars}} </td> </tr>
非常感谢,如果你能帮助我理解为什么数字数据不是作为数字排序,以及为什么它作为文本排序.
[{"id":"42","cars":"Tipo"}]
变为:
[{"id":42,"age":40,"age":5,"id":5},{"id":6,"age":1,"cars":"Tipo"}]
我猜测如果不能纠正JSON数据的格式,SergL的解决方案是好的.
除此之外,我在特定情况下的问题是在服务器端使用PHP的json_encode函数.默认情况下,它将数字视为字符串.要解决此问题,我必须将JSON_NUMERIC_checK选项添加到PHP脚本中的encode方法:
json_encode($assoc_array,JSON_NUMERIC_checK);
以上是大佬教程为你收集整理的angularjs – Angular orderBy数字排序为ng-repeat中的文本全部内容,希望文章能够帮你解决angularjs – Angular orderBy数字排序为ng-repeat中的文本所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。