Vue组件传值异步问题子组件拿到数据较慢解决

 更新时间:2023年08月21日 08:49:21   作者:koi_li  
这篇文章主要为大家介绍了Vue组件传值异步中子组件拿到数据较慢的问题解决方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

问题出现

之前写静态页面的时候,直接父向子传值,是指节能渲染出父组件给子组件的值,但是加上请求后,就会出现请求过慢。就是在组件创建和渲染完毕时,子组件的值才拿到,子组件并没有实时更新模版(灾难始终慢我一步)

原因分析

子组件中的 created 、mounted 只执行一次,在富组件初始化时,已经给子组件传了一个空值,导致异步请求数据发生变化时,子组件的值不再变化
在父组件中,获取数据时会有几秒钟的时间延迟,而异步请求不会阻塞后续代码,所以导致子组件通过props接受数据时拿到的是空数据,通过打印结果显示先执行子组件中props中的代码,导致数据无法渲染。

解决办法

就是没有发请求拿到数据之前,不让他创建子组件并传值,因此给其加 v-if 指令来限制他是否能创建子组件,类似于节流的思想。
在父组件中的子组件,通过v-if判断接口请求的数据是否不为0或者不为空,因为v-if是通过创建DOM显示的,此时通过判断如果子组件有数据的话才传数据

data 数据里面

list : false || null

请求方法里

async getUserinfo() {
  const { data : res } = await getUserinfo(userid:this.userid)
  this.list = res.data
} 

模版子组件处

<Userinfo :list = 'list' v-if = 'list'/>
<Userinfo :list = 'list' v-if = 'list && list.length > 0'/>

以上就是Vue组件传值异步问题--子组件拿到数据较慢的详细内容,更多关于Vue组件传值异步问题的资料请关注脚本之家其它相关文章!

相关文章

  • Vue中使用Tailwind CSS的具体方法

    Vue中使用Tailwind CSS的具体方法

    本文主要介绍了Vue中使用Tailwind CSS的具体方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Vue+Element实现表格编辑、删除、以及新增行的最优方法

    Vue+Element实现表格编辑、删除、以及新增行的最优方法

    这篇文章主要为大家详细介绍了Vue+Element实现表格的编辑、删除、以及新增行的最优方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • Vue实现二维码的展示及下载功能

    Vue实现二维码的展示及下载功能

    这篇文章主要介绍了Vue实现二维码的展示及下载功能,其中downloadQRCode()函数中的url为要下载的文件的路径,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • Vue使用electron转换项目成桌面应用方法介绍

    Vue使用electron转换项目成桌面应用方法介绍

    Electron也可以快速地将你的网站打包成一个原生应用发布,下面这篇文章主要给大家介绍了关于Vue和React中快速使用Electron的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • vue3 中使用 reactive 的问题小结

    vue3 中使用 reactive 的问题小结

    在 Vue 3 中,如果你使用 reactive 来定义一个响应式对象,那么这个对象的属性是不能被重新赋值的,因为 reactive 会将对象的属性转换为 getter/setter,这样 Vue 才能追踪到属性的变化,这篇文章主要介绍了vue3 中使用 reactive 的问题,需要的朋友可以参考下
    2024-03-03
  • vue3组合式api创建单文件组件的写法

    vue3组合式api创建单文件组件的写法

    Vue3 中的 Composition API 是一种新的编写组件逻辑的方式,它提供了更好的代码组织、类型推导、测试支持和复用性,本文为大家介绍了vue3利用组合式api创建单文件组件的方法,感兴趣的可以了解下
    2023-08-08
  • Vue3中的极致防抖/节流详解(附常见方式防抖/节流)

    Vue3中的极致防抖/节流详解(附常见方式防抖/节流)

    在JavaScript中函数的防抖和节流不是什么新鲜话题,这篇文章主要给大家介绍了关于Vue3中极致防抖/节流的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • 在vue中使用echarts实现上浮与下钻效果

    在vue中使用echarts实现上浮与下钻效果

    这篇文章主要介绍了在vue中使用echarts实现上浮与下钻效果,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • Vue项目打包优化实践指南(推荐!)

    Vue项目打包优化实践指南(推荐!)

    如果引入的库众多,那么vendor.js文件体积将会相当的大,影响首开的体验,这篇文章主要给大家介绍了关于Vue项目打包优化实践的相关资料,需要的朋友可以参考下
    2022-06-06
  • VUE中$refs的基本用法举例

    VUE中$refs的基本用法举例

    ref 加在子组件上,用this.$refs.(ref值) 获取到的是组件实例,可以使用组件的所有方法, 在使用方法的时候直接this.$refs.(ref值).方法() 就可以使用了,这篇文章主要介绍了VUE中$refs的基本用法,需要的朋友可以参考下
    2022-12-12

最新评论