angularjs ng-repeat 可否设置从下标为1开始循环

Lynn
  • 175

ng-repeat能够设置从下标是1的开始循环,有的时候我不需要第一数据,从第二个开始去。这怎么取?

回复
阅读 5.5k
5 个回答
✓ 已被采纳
app.filter('startFrom', function() {
    return function(input, start) {
        if(input) {
            start = +start; //parse to int
            return input.slice(start);
        }
        return [];
    }
});
<div ng-repeat="item in items | startFrom : 2">{{item.Name}}</div>
Lynn

$http请求成功之后只能在success回调函数打印data,在$http以外怎么不能拿到值?

回复2017-03-31
cipchk

@Lynn $scope.data

回复2017-03-31
Lynn

$scope.data打印也没有 是undefined

回复2017-03-31

直接传值的时候就把数组切片下从第二个开始;
或者用ng-show隐藏掉第一个元素

Lynn

我现在的处理办法就是用ng-if吧第一个给移除掉了,难道没有直接在ng-repeat上处理的吗

回复2017-03-30
忆先

数组切片啊

$scope.data = data.slice(1)
回复2017-03-30

使用 filter, ng-if 都可以

假设dataArray是要遍历的数组

dataArray.splice(0, 1)

splice是能够从数组中 删除元素。插入元素 或者同时完成这两操作;会改变调用函数,返回删除的函数,两个参数,第一个是插入或删除的位置, 第二个是删除长度

<div ng-repeat="item in list" ng-if="$index>0"></div>

index下标大于0开始,这样就是从第二个数据开始显示的。