//首页 图标 轮播 成二维数组,然后进行渲染
split_array=(arr,len)=>{
let arr_length = arr.length;
let newArr = [];
for(let i=0;i<arr_length;i+=len){
newArr.push(arr.slice(i,i+len));
}
return newArr;
}
split_array(要分割的数组,几个一分割);
举个例子 比如 我这个业务场景 是首页的图标做成轮播图 8个分一个数组
那我就写成下面的形式
js
if($scope.iconlist && $scope.iconlist.length >8){
$scope.newiconlist = split_array($scope.iconlist, 8);
}
//解决轮播自动补全4个的bug
$scope.slideChanged = function(index) {
if ( ($ionicSlideBoxDelegate.count() -1 ) == index ) {
$timeout(function(){
$ionicSlideBoxDelegate.slide(0);
},3000);
}
};
html
<ion-slide-box class="" does-continue="{{iconlist.length >= 32}}" on-slide-changed="slideChanged($index);" auto-play="fasle">
<ion-slide ng-repeat="x in newiconlist track by $index">
<div class="row row-wrap" >
<div class="col col-25" ng-repeat="iconlist in x track by $index">
<a ng-href="{{iconlist.linkurl}}" ng-click="iconclick(iconlist.iconid)">
<div class="tm-main-icon3"><img ng-src="{{_INIT_YUMING}}/{{iconlist.picurl}}" οnerrοr="this.src='images/logo-new1010-n01.png'"></div>
<h5 class="text-center">{{iconlist.iconname}}</h5>
</a>
</div>
</div>
</ion-slide>
</ion-slide-box>