我想反转数组。
<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; ,如果我删除幻灯片,我会得到相同的反向。它是如何读取数组的?
答案 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;
};
});