一次性展示几万条数据
有的时候,我们会遇到后台丢给我们上千条甚至是上万条数据,并且没有分页让我们一次性展示的情况,如果我们直接将所有数据进行展示的话,页面势必会出现卡顿,甚至可能还会造成浏览器崩掉,所以对于这种情况,我们采用 setInterval+ for循环的 分批渲染方法。
代码如下:
//data:用来展示的数据 all_data:从后台获取到的数据
var data=[];
//第一次先渲染50条
data=$scope.all_data.slice(0,50);
load_data(data);
function load_data(data){
var all_length=Math.ceil(data.length/50);
var i=1;
var timer=setInterval(function(){
if(i < all_length){
var add_data=data.slice(50*i,50*(i+1));
_.each(add_data,function(ele){
data.push(ele);
})
i++;
}else{
//删除定时器
window.clearInterval(timer);
}
},100)
}