【发布时间】:2013-08-10 02:03:19
【问题描述】:
我正在使用 AngularJs,发现在模板中对哈希对象的属性进行排序时存在问题。
我的对象是这样的:
function TestCtrl($scope){
$scope.week = {'MONDAY': ['manuel'], 'TUESDAY': [], 'WEDNESDAY': ['valerio'], 'THURSDAY': ['manuel', 'valerio'], 'FRIDAY': []}
}
现在,当我尝试在模板中打印这些值时:
<div ng-repeat="(day, names) in week">
<span>{{day}}</span>
<ul> <li ng-repeat="name in names">{{name}}</li> </ul>
</div>
打印的天数顺序不同:FRIDAY MONDAY THURSDAY TUESDAY WEDNESDAY
我尝试应用过滤器orderBy,但我认为它不适用于对象,而仅适用于数组...
如何订购?
【问题讨论】:
-
我认为它与 angularjs 无关。默认情况下,对象键按字母顺序排序。
-
@CodeHater,它与 AngularJS 相关,不,对象键不会在 javascript 引擎中以任何方式排序。官方规范中唯一描述的是顺序不能保证,但是,所有浏览器都保持字符串对象键的顺序而不对其进行排序是事实上的标准。
标签: angularjs angularjs-ng-repeat