位置: IT常识 - 正文

vue父子组件传值不能实时更新(vue父子组件传值方法)

编辑:rootadmin
vue父子组件传值不能实时更新

推荐整理分享vue父子组件传值不能实时更新(vue父子组件传值方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue父子组件传值面试题,vue父子组件传值 watch监控调用多吃,vue父子组件传值原理,vue父子组件传值传不过去,vue父子组件传值面试题,vue父子组件传值传不过去,vue父子组件传值实时更新,vue父子组件传值实时更新,内容如对您有帮助,希望把文章链接给更多的朋友!

最近做项目,遇到个大坑,这会爬出来了,写个总结,避免下次掉坑。

vue父子组件传值不能实时更新问题,父组件将值传给了子组件,但子组件显示的值还是原来的初始值,并没有实时更新,为什么会出现这种问题呢?

出现这个问题,可能有以下两个原因:

一、 父组件没有把值传过去,子组件没有获取到最新的值。

二、子组件接收到最新的值了,但是没有实时渲染到视图上。

如果是第一种情况很简单,核对传的参数,确保把最新的值传过去就可以了。

若是第二种情况,稍微有些麻烦,但也可以解决,主要有两种解决方案:

① 利用v-if的重新渲染机制,获取到值之后,将子组件重新渲染一遍。

② 利用watch监听数据,若是数据变化,调用视图渲染方法。

下面,结合项目的实际情况,具体分析这两种方法。

vue父子组件传值不能实时更新(vue父子组件传值方法)

在项目中,将erchart中的生成仪表盘的数据封装了一个子组件,父组件中传给仪表盘一个初始值,后续,调用后台接口返回最新的数据传给这个仪表盘组件的之后,发现仪表盘中的数据并没有实时的更新。仪表盘如下图:

 首先,利用第①种方法,利用v-if渲染机制

设置一个参数reRender。设置v-if=“reRender”,并将reRender初始值设置为false,从后台获取数据之后,将reRender=true。

这样就能够将最新的数据渲染到子组件的视图中了。但这样,如果我在同一个页面中调用了很多次这个子组件,生成多个仪表盘,就需要设置很多个类似于reRender的属性。

那么有的小可爱就提出来了,我设置一个reRender属性,然后几个子组件共用这个属性不就可以了吗,几个后台接口调完更新数据之后在统一将reRender=true。

这种方法,我尝试过了,不可以,我不知道原因。

只有将reRender=true放在那个调接口的方法里,获取到后台数据之后,才可以。尝试了网上提出的强制更新的方法,也不行。

所以,遇到这种一个页面调用多个这种组件的情况,使用v-if就很繁琐。

若是,别人封装了这么一个组件,数据更新的时候还要利用v-if重新渲染一下,那就感觉这个组件可能封装的不是太好,所以,咱们还是完善子组件。

这里就涉及到了第二种方法,设置watch监听,监听数据,当子组件监听到数据发生改变时,调用方法。

监听传的数据,这里面用到了两个属性immediate和deep,在watch中,不会监听初始值,只有当值改变时才会执行handler函数。但是,我们想要在最初赋值的时候,也执行handler函数,就需要用到immediate:true。而普通监听只能监听字符串、数字等值,要想监听到对象中某个属性的变化,就需要用到深度监听deep:true。

 在这之后,我发现控制台报错了, ”TypeError: Cannot read property ‘getAttribute’ of undefined”,如下所示:

 后面查了一些资料是因为:在vue中,数据和dom渲染是异步的,当dom还没渲染,却用数据去赋值的话,就会出现这个问题。解决方法是:利用this.$nextTick()。this.$nextTick()将数据渲染方法放到dom渲染之后,这样就不会出现这个问题了。

 依此,子组件数据就可以实时更新了。如下图:

本文链接地址:https://www.jiuchutong.com/zhishi/297427.html 转载请保留说明!

上一篇:超分扩散模型 SR3 可以做图像去雨、去雾等恢复任务吗?(扩散分类)

下一篇:数据分析| Pandas200道练习题,使用Pandas连接MySQL数据库(数据分析课)

  • 小米手环6绿灯一直闪烁是咋回事(小米手环6绿灯一直闪)

    小米手环6绿灯一直闪烁是咋回事(小米手环6绿灯一直闪)

  • wps怎么把两页互换位置(wps怎么把两页互换页面)

    wps怎么把两页互换位置(wps怎么把两页互换页面)

  • 华为线下门店可以回收手机吗(华为线下门店可以退货吗)

    华为线下门店可以回收手机吗(华为线下门店可以退货吗)

  • 华为p30自带碎屏险吗(华为p30自带碎屏险)

    华为p30自带碎屏险吗(华为p30自带碎屏险)

  • 打印机显示手动进纸装入纸张怎么办(打印机显示手动进纸器缺纸怎么办)

    打印机显示手动进纸装入纸张怎么办(打印机显示手动进纸器缺纸怎么办)

  • 冷光源和热光源的区别(冷光源和热光源哪个对眼睛好)

    冷光源和热光源的区别(冷光源和热光源哪个对眼睛好)

  • 苹果手机截屏功能失效(苹果手机截屏功能在哪里)

    苹果手机截屏功能失效(苹果手机截屏功能在哪里)

  • 拼多多可以买手机吗(拼多多可以买手机先用后付吗)

    拼多多可以买手机吗(拼多多可以买手机先用后付吗)

  • 一个手机怎么下载两个抖音app(一个手机怎么下载两个QQ)

    一个手机怎么下载两个抖音app(一个手机怎么下载两个QQ)

  • rio-tl00什么型号(rio—al00什么型号)

    rio-tl00什么型号(rio—al00什么型号)

  • htc手机怎么截图(htc10怎么截屏)

    htc手机怎么截图(htc10怎么截屏)

  • 户户通线怎么接电视(户户通连接线怎么接)

    户户通线怎么接电视(户户通连接线怎么接)

  • 机器人联网怎么连不上(机器人连网络怎么用在手机上怎么用)

    机器人联网怎么连不上(机器人连网络怎么用在手机上怎么用)

  • 空心黑体怎么设置(空心黑体在哪设置)

    空心黑体怎么设置(空心黑体在哪设置)

  • 电话卡欠费不要了会怎么样

    电话卡欠费不要了会怎么样

  • 苹果11怎么没有小圆点(苹果11怎么没有传输或还原iPhone)

    苹果11怎么没有小圆点(苹果11怎么没有传输或还原iPhone)

  • 探探怎么找回解除匹配的人(探探怎么找回解封账号)

    探探怎么找回解除匹配的人(探探怎么找回解封账号)

  • 掌酷引擎有什么作用(掌酷引擎什么用)

    掌酷引擎有什么作用(掌酷引擎什么用)

  • x27支持人脸识别吗(x27支持 人脸识别开锁与支付吗)

    x27支持人脸识别吗(x27支持 人脸识别开锁与支付吗)

  • 资源管理器一直重启(资源管理器一直弹出)

    资源管理器一直重启(资源管理器一直弹出)

  • 桌面键盘调出来方法(电脑桌面调出键盘)

    桌面键盘调出来方法(电脑桌面调出键盘)

  • 【微信小程序开发】自定义tabBar案例(定制消息99+小红心)(微信小程序开发公司)

    【微信小程序开发】自定义tabBar案例(定制消息99+小红心)(微信小程序开发公司)

  • openCV 第四篇 角点检测、图像特征、图片拼接(opencv讲解)

    openCV 第四篇 角点检测、图像特征、图片拼接(opencv讲解)

  • 帝国CMS网站sitemap制作方法(帝国cms8.0)

    帝国CMS网站sitemap制作方法(帝国cms8.0)

  • 浅谈报关单填制的常见错误
  • 未达起征点附加税还需要扣税嘛
  • 征地补偿费谁来支付
  • 机票的电子发票和行程单有什么区别
  • 检测费用可以开什么发票
  • 有进项发票还用交税
  • 银行承兑汇票背书可以拆分
  • 会费要交增值税吗
  • 企业丢失账簿稽查局可以处罚吗
  • 住房公积金证书插上为什么登不进去
  • 银行质押贷款会查征信吗
  • 领用外购材料用于动产
  • 柴油可以销售吗
  • 如何查询对方是不是老赖
  • 发票虚开税务局要求补税怎么办?
  • 增资印花税缴纳时间
  • 个体工商户税收标准2023年
  • 2016年的发票2019年还能开红字吗
  • 待认证进项税额借贷方向
  • 企业的应收账款周转率越大,说明发生坏账
  • 何为风险报酬?
  • 公司低价处理旧汽车涉税账务处理
  • 增值税专票可以重开吗
  • win11开机蓝屏怎么解决
  • 在window10中可以使用什么窗口
  • 关于企业之间资金拆借的法律规定
  • 承兑交单是什么的一种
  • 接的网线影响传输吗
  • php如何解决异常处理
  • 销售人员奖励办法
  • 行政单位捐赠收入需要上缴财政吗
  • 不动产出租要交什么税
  • 在企业扶贫捐赠活动上的讲话
  • 依夫城堡
  • c#openxml
  • 资产负债表应交税费计算公式
  • 玻璃深加工企业排名
  • 自己的智能ai聊天怎么用
  • 应收保费核算什么
  • 五险一金的会计怎么做账
  • python中字符串与数字相乘的结果
  • 无发生额有没有对账单
  • MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
  • 税控盘维护费每年都要交吗
  • 计划成本核算的实际成本怎么算
  • 商品入库进项税不抵扣会计分录
  • 委托加工物资账务
  • 社保费单位减免
  • 上市公司股票增发条件
  • 上月发票如何冲红
  • 怎么调整应收账款分录
  • 房屋租赁违约金比例
  • 公司注册实收资本
  • 商业医疗保险的缺点
  • 电子秤计入什么费用
  • 红酒礼品盒批发
  • 如何查看windows2008修改密码日志
  • Ubuntu系统怎么设置双屏
  • mac os x10.6
  • win8安装界面
  • 休眠后网络断开
  • linux用户登录
  • 横版格斗rpg手游
  • cocos2d教程
  • 深入linux内核架构与底层原理 pdf
  • android EditText 需要输入文本时调不出来软键盘 解决方案(亲测有效)
  • 字符有大小吗
  • 深入python3
  • Jquery通过ajax请求NodeJS返回json数据实例
  • shell脚本判断两个数大小
  • chrome excel
  • linux怎么ssh远程
  • jQuery插件封装时如要实现链式编程,需要
  • Python遍历循环
  • jquery修改表格数据
  • 卷烟批发环节的税率
  • 机关工勤人员2022工资套改表
  • 陕西个体户免税政策
  • 法治税务演讲稿结尾
  • 市中区税务局办税大厅地址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设