vue项目 接口中对获取到的数据进行双重for循环导致页面不渲染

vue项目 接口中对获取到的数据进行双重for循环导致页面不渲染,第1张

以下为2022年5月12日更新

今天跟朋友解决一个vue项目中的问题,大概意思是:

前端向后端发送接口请求,请求成功之后,后端返回了一个数组,数组中包含了上百条数据。而我们需要做得是将这上百条数据以每组20条的形式渲染到页面上。

我和朋友的解决办法是:

定义一个空数组,这个空数组里面的元素也是空数组,然后循环返回的包含了上百条数据的数组,将前20条数据放进第一个为空数组的元素中,然后利用splice将原数组的前20条数据删除,跳出循环。以下为代码:

getSell(){
    topicList({需要传的数据}).then(response=>{
        let arr = [];
        arr.length = 10;  //因为200条数据 20个一组 正好是10组
        for(var i=0;i

这样每组20个就分好了,因为需要页面加载时候就要渲染,所以我们在钩子函数mounted() 中调用了getSell()函数。

mounted(){
    this.getSell();
}

这时候问题出现了,页面并没有渲染。

然后我们觉得可能是接口需要传的数据可能没有获取到,于是,我们加了一个定时器

mounted(){
    setTimeout(()=>{
        this.getSell();
    },500)
    
}

加完定时器之后,页面上确实渲染出数据了,但是却并完整,于是我们在里面的for循环中加了个console.log('1'),发现控制台上并没有输出‘1’,这也说明第二个for循环没走,最后终于找到了办法。

getSell(){
    topicList({需要传的数据}).then(response=>{
        let arr = [];
        arr.length = 10;  //因为200条数据 20个一组 正好是10组
        for(var i=0;i

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/940201.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-17
下一篇 2022-05-17

发表评论

登录后才能评论

评论列表(0条)