Angularjs反转一个给出错误的数组

时间:2014-09-25 10:25:09

标签: javascript arrays angularjs

我想反转数组。

    <ul>
      <li ng-repeat="todo in todos track by $index | reverse"><input type="checkbox" ng-model="todo.done">
      <span class="done-{{todo.done}}">{{todo.text}}</span></li>
   </ul>

和JS

var myfirstApp = angular.module('myfirstApp', []);

myfirstApp.filter('reverse', function() {
    return function(items) {
        return items.slice().reverse();
    };
});

在我的控制器中我有

    $scope.todos = [ 
        {text: 'Learn AngularJS', done:false},
        {text: 'Build an app', done:false}


    ];

但我得到&#34;错误:items.slice不是一个函数&#34; ,如果我删除幻灯片,我会得到相同的反向。它是如何读取数组的?

2 个答案:

答案 0 :(得分:2)

更改ng-repeat的代码

todo in todos  | reverse track by $index

答案 1 :(得分:0)

.reverse(); dos不返回任何内容,它只是反转数组,但不返回反转数组。 你应该这样做:

var myfirstApp = angular.module('myfirstApp', []);

myfirstApp.filter('reverse', function() {
    return function(items) {
        items.reverse();
        return items;
    };
});