在推送新数据时,Angular ng-repeat OrderBy会中断

时间:2014-04-28 23:19:13

标签: javascript angularjs

向数组添加数据时,新数据未在ng-repeat中正确排序。

$scope.items.push(newItem);

而是将newItem添加到数组的开头而不是有序。

this fiddle

中展示

2 个答案:

答案 0 :(得分:3)

问题是由于现有的id字段是字符串引起的 - 推送的新数据是整数。更改初始id字段以使整数修复问题。

答案 1 :(得分:0)

尝试这样做:

  function MyCtrl($scope) {
$scope.items = [
    {id:2,name:"name2"},//change the id:"2" to id:2
    {id:3,name:"name3"},//change the id:"3" to id:3
    {id:1,name:"name1"},//change the id:"1" to id:1
    {id:4,name:"name4"},//change the id:"4" to id:4
];
var index = 5;
$scope.add = function(item) {
    var newItem = {id: index, name: item};
    $scope.items.push(newItem);
    index++;
};

}

“Id”应为整数,因此请更改项目声明并将“id”更改为int。希望这适用于你的情况。