vue问题:父传子时传递的值接收有延迟

2023-10-11 11:59

本文主要是介绍vue问题:父传子时传递的值接收有延迟,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

素材编辑 | 宋大狮

排版运营 | 小唐狮

ONE 问题描述

今天在做vue项目时,遇到一个不算问题的问题。父组件要向子组件传递接口请求回来的数据,然后在子组件中将props接收到的数据渲染到输入框内,操作非常非常简单,但是我发现不管怎么搞,渲染的值都是父组件中定义的初始空值。

TWO 解决过程

尝试一:

思路:考虑是否是接口问题,或者组件传参时出错。

实现:使用祖传手法console.log,从接口请求处开始挨着打印,一直到子组件接收的值处为止。

结果:接口没有问题,但打印的所有值都为空。

尝试二:

思路:父组件给子组件传递的值是请求回来的,所以可能会有延迟。

实现:在父组件中,给子组件标签加上v-if判断一下,判断要传递的值不为空时,再初始化子组件。

结果:成功传递接口返回的数据。

THERE 知识总结

总结一:

问题复盘

由于父组件在给子组件传递的值是请求回来的,所以会有延迟,而这时子组件也初始化完毕,导致子组件接收的值是父组件初始化时创建的默认为空的初始值。在父组件中给子组件标签加上v-if判断一下,判断要传递的值不为空时,再初始化子组件,就可以接收到父组件请求回来的值。

总结二:

组件通信方式总结

父传子1、props:在父组件中,给子组件绑定一个自定义属性,在子组件中,通过props进行接收2、$parent:直接访问父组件实例的属性和方法3、$attrs:在父组件中,给子组件绑定一个自定义属性,在子组件中,通过$attrs进行接收【与props不能共存】【vue新增的祖孙传参方式】4、插槽子传父1、自定义事件:在父组件中,给子组件绑定一个自定义事件,绑定事件的值为接收参数的函数,在子组件中,通过$emit发送数据2、$refs:直接访问子组件实例的属性和方法3、$children 直接访问子组件实例的属性和方法【返回数组,必须遍历赋值后才能渲染】祖传孙1、provide函数传,inject数组收2、自定义属性 + v-bind="$attrs"【中间人】 + $attrs孙传祖1、$emit + v-on="$listeners"【中间人】 + 自定义事件兄弟间1、$bus:给vue原型添加一个vue实例,用this.$bus.$emit发送,用this.$bus.$on接收2、Vuex3、pubsub路由跳转传参params传参query传参

    

FOUR 集思广益

欢迎各位大佬对此类问题留言或私信指教,让大家一起学习提高!

- END -

ABOUT 关于作者

  • 宋大狮 | 轻轻松松工作,简简单单生活

  • 小唐狮 | 广场舞大军中最靓的仔

这篇关于vue问题:父传子时传递的值接收有延迟的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/187887

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

Java多线程父线程向子线程传值问题及解决

《Java多线程父线程向子线程传值问题及解决》文章总结了5种解决父子之间数据传递困扰的解决方案,包括ThreadLocal+TaskDecorator、UserUtils、CustomTaskDeco... 目录1 背景2 ThreadLocal+TaskDecorator3 RequestContextH

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明