通过 ng-repeat
我想根据 id
数字(从 1 到 5)按照定义的顺序绘制视频。
<div ng-app="myApp" ng-controller="Ctrl">
<div ng-repeat="vidObj in videoObjects | orderBy: 'id'">
<span>{{vidObj.id}}</span>
</div>
</div>
我尝试应用过滤器orderBy
,但显然无法正常工作。你知道我做错了什么吗?这是JSfiddle带有完整的代码。
提前感谢您的回复!
编辑:感谢您的回复,但是 json
文件无法更改。
最佳答案
Javascript:
angular.module('myApp', [])
.controller('Ctrl', function($scope) {
$scope.videoObjects = {
"Frank": {
"id": 1
},
"Gerard": {
"id": 2
},
"Rein": {
"id": 3
},
"Ida": {
"id": 4
},
"Ellen": {
"id": 5
}
};
$scope.arr = Object.keys($scope.videoObjects).map(function(k) { return $scope.videoObjects[k] });
console.log($scope.arr);
});
和 HTML
<div ng-app="myApp" ng-controller="Ctrl">
<div ng-repeat="vidObj in arr | orderBy: 'id'">
<span>{{vidObj.id}}</span>
</div>
</div>
我用这段代码更新了你的 fiddle 。它运行良好。
关于javascript - ng-repeat orderBy 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37725858/