vue3父组件异步props传值,子组件接收不到值问题

这篇具有很好参考价值的文章主要介绍了vue3父组件异步props传值,子组件接收不到值问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目场景:

当我们使用vue3进行开发在创建组件的时候,子组件经常需要调用父组件的数据,那么这是就需要vue3的props进行对父组件与子组件通信来达到传值的效果


问题描述

在使用props进行父子组件通信时,子组件无法成功渲染数据,导致拿到数据为空问题


原因分析:

提示:这里填写问题的分析:

在使用props进行父子组件通信时,如果父组件的数据是同步数据的话,那么这时子组件拿到的数据就可以直接的渲染在视图上面这就是我们所说的同步渲染;但如果父组件的数据是通过异步获取的,那么这时子组件拿到的数据属于异步渲染数据,也就是说当子组件在拿数据的过程中还没完全拿到数据就已经开始渲染了这就导致了子组件拿到数据后就已经渲染完成数据了,那么也就无法成功渲染异步数据


解决方案:

提示:这里填写该问题的具体解决方案:

其实子组件是已经成功拿到数据了,只是渲染提前了导致无法成功渲染出来;那么我们这时可以使用vue3的watch来进行监听props所拿到的数据,之后在进行渲染文章来源地址https://www.toymoban.com/news/detail-508747.html

<script lang="ts">
export default {
  props: {
    contentText: {
      type: String,
      default: ''
    }
  },
  setup(props) {
    // 监听输出内容变化
    watch(() => props.contentText, (newVal: any) => {
      valueHtml.value = newVal;
    })
  }
}
</script>

到了这里,关于vue3父组件异步props传值,子组件接收不到值问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue:父子组件传值( props、sync、v-model )

    子组件通过$emit方法,通过自定义事件的方式将自身的值传递给父组件 在有些情况下,我们可能需要对一个 prop 进行“双向绑定”。不幸的是,真正的双向绑定会带来维护上的问题,因为子组件可以变更父组件,且在父组件和子组件两侧都没有明显的变更来源。 所以推荐以

    2023年04月08日
    浏览(45)
  • Web前端 ---- 【vue】vue 组件传值(props、全局事件总线、消息的订阅与发布)

    目录 前言 父子组件 父传子 子传父 全局事件总线 什么叫全局事件总线 如何创建全局事件总线 如何在组件上获取到这个全局vc对象 最常用的创建全局事件总线 兄弟组件 消息订阅与发布 安装 使用 爷孙组件 在上篇文章我们介绍了父子组件之间的传值通信,本文将介绍不仅限

    2024年02月05日
    浏览(47)
  • 【vue3】vue3接收props以及emit的用法

    技术 :vue3.2.40 UI框架 :arco-design 2.44.7 css技术 :less 4.1.3 实现 :子组件接收props以及通过emit方法传值父组件 vue3使用的组合式API,我这里使用的是defineComponent 1.setup里如果需要接收props和使用emit,只需要带参数 setup(props, { emit }) 2.setup里面只需要带emit(‘handleCancel’),不需要带

    2024年02月15日
    浏览(37)
  • vue3 父子组件传值 记录

    最近这个组件之间传值用的较多,我这该死的记性,总给忘记写法,特此记录下 补充:LeftView.vue 是父组件; Video.vue 是子组件 Video.vue 子组件 LeftView.vue 父组件 第一步 创建bus.js文件 第二步 分别在需要相互传参的组件中引入bus.js文件,并相互传参

    2024年02月11日
    浏览(44)
  • vue3组件传值方法

    提示:vue组件传值学习用vue3语法 提示:以下是本篇文章正文内容,下面案例可供参考 1.在父组件中引入子组件并通过 components 注册 父组件内容示例: html 内容 js 内容 import child from \\\"../components/Child/Child\\\"; 子组件内容示例 html 内容 js 内容 props: { msg: { type: String, default: \\\"\\\", }, },

    2024年02月07日
    浏览(36)
  • vue3-深入组件-组件注册和props更多细节

    定义好的组件需要注册才能被使用。 注册方式有两种 全局注册 局部注册 全局注册 .component() 方法,让组件在当前 Vue 应用中全局可用。 在 main.ts 中 在 vue 中直接使用无需导入 效果: 全局注册的组件可以在此应用的任意组件的模板中使用,所有的子组件也可以使用全局注册

    2024年01月25日
    浏览(52)
  • 两周掌握Vue3(三):全局组件、局部组件、Props

    代码仓库:跳转 本博客对应分支:03 Vue 3 中的全局组件是在应用程序中全局注册的组件,可以在任何地方使用,而不需要在每个组件中都单独注册。 在components目录下创建全局组件MyGlobalComponent.vue: 在App.vue中尝试使用我们定义和注册的全局组件: 效果: 在 Vue 3 中,局部组

    2024年01月18日
    浏览(47)
  • vue3+vite配置 unplugin-vue-component 找不到 Vant 组件的问题

    使用 vue3 + vite + Vant 搭建移动端项目,为了避免全量引入 vant 导致打包体积过大,又不想一个一个组件手动导入,所以就选择了 vant 官方推荐的方法,使用 unplugin-vue-components 插件自动引入组件,并按需引入组件的样式。 但是运行过程中遇到了报错: [vite] Internal server error: F

    2024年02月16日
    浏览(46)
  • Vue3中子组件向父组件传值的方法

    父组件可以通过props向子组件传值, 子组件可以用过 emits(‘update:prop’, propValue) 修改父组件绑定在此Prop上父组件的值 本文演示了一个可以缓存分页大小(每页显示几行数据)的分页组件的使用, 它是对el-pagination做了一个简单的封装 如下是一个分页组件 核心: 在换页时通过 emit

    2024年02月16日
    浏览(40)
  • vue3中的组件传值的方式

    1. props 父组件使用 props 传递数据给子组件: 子组件使用 props 接收: 2. emit 自定义事件 子组件触发事件,父组件监听该事件并更新数据: 3. refs 通过 ref 给子组件绑定引用,然后通过该引用直接更新子组件的数据或调用子组件的方法: 在 child 组件中: 4. provide / inject 父组件提供数据

    2024年02月07日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包