vue 请求嵌套_记一次vue中嵌套v-for 带来的死循环问题(目前还没解决,有没有vue大佬帮忙看看QAQ)...

在做分类模块的动态展示文章列表功能时出现了无限调用的问题

简单描述下这个功能: 我要做一个文章分类的展示界面,分类是可以无限嵌套的,

出于页面美观,我的一个需求:假如一个分类下有子分类,那就在下一级中全部显示子分类;假如一个分类下没有子分类了,就在下一级全部显示该分类的所有文章。

对树形无限嵌套结构的动态渲染我的一般做法是:

1、父组件v-for遍历数据源,动态生成最外层的伸缩面板,并在内部调用子组件,向子组件发送当前数据的children数组(假如有该分类有子分类的前提下)

2、子组件prop接收父组件传来数组,v-for遍历数组并进行渲染,假如当前分类有children数据,递归调用当前组件,传children数据过去;

上面的一切都按着我的预期显示也没有问题,问题出在下面:

假如当前分类没有children数据,我需要拿到当前分类下的所有文章列表,这里我去调用了另外写的方法去通过接口返拿到数组,并遍历这个数组

这里贴一下子组件代码:

尝试一:在一开始时这个方法我写的是内部定义变量 接口访问数据后赋值给变量并返回

结果:接口请求成功并返回了数据,list变量打印出来也有值,但是页面上死活渲染不出任何文章

尝试二:后来想到vue是数据驱动的,这个数据得在data里定义好变量,所以我把数据赋值给了data里定义的变量

结果:和之前一样,接口请求成功并返回了数据,list变量打印出来也有值,但是页面上死活渲染不出任何文章

尝试三:把异步等待的async和await去掉

结果:页面上渲染出了数据,但是无限调用了这个方法,可以看到一直在发送请求

我猜测原因可能是 双向绑定  多次调用接口导致这个绑定的变量的值不断被改变,改变后由于数据驱动,页面也跟着渲染,渲染时又调用了方法导致值改变....形成了一个无限调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值