位置: 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数据库(数据分析课)

  • iPhone13厚度(iphone13厚度宽度)

    iPhone13厚度(iphone13厚度宽度)

  • 手机上怎么查询生育险(手机上怎么查询社保缴费记录)

    手机上怎么查询生育险(手机上怎么查询社保缴费记录)

  • 苹果volte开关在哪(苹果volte开关在哪里关闭)

    苹果volte开关在哪(苹果volte开关在哪里关闭)

  • 荣耀play陀螺仪在哪设置(荣耀play陀螺仪有延迟吗)

    荣耀play陀螺仪在哪设置(荣耀play陀螺仪有延迟吗)

  • 每个人只能集一个五福吗(每个人只能集一套五福吗)

    每个人只能集一个五福吗(每个人只能集一套五福吗)

  • 交管12123忘记密码网络拥堵怎么解决(交管12123忘记密码怎么办)

    交管12123忘记密码网络拥堵怎么解决(交管12123忘记密码怎么办)

  • 华为nova5怎么没有信号灯(为什么华为nova5手机没信号无服务)

    华为nova5怎么没有信号灯(为什么华为nova5手机没信号无服务)

  • 成都有5g网络吗(成都已经5g全覆盖了吗)

    成都有5g网络吗(成都已经5g全覆盖了吗)

  • kindle需要贴膜吗(kindle需不需要贴膜)

    kindle需要贴膜吗(kindle需不需要贴膜)

  • 华为手机右上角有个月亮是怎么回事(华为手机右上角特殊图标详解)

    华为手机右上角有个月亮是怎么回事(华为手机右上角特殊图标详解)

  • 华为nova7有防抖吗(华为nova10像素多少)

    华为nova7有防抖吗(华为nova10像素多少)

  • 微信运动刷新时间(微信运动刷新频率)

    微信运动刷新时间(微信运动刷新频率)

  • 11录屏怎么设置(录屏怎么设置可以看到密码)

    11录屏怎么设置(录屏怎么设置可以看到密码)

  • a57是什么型号的手机(a57啥意思)

    a57是什么型号的手机(a57啥意思)

  • 华为手机pro和普通的区别(华为手机pro和普通的区别在哪里)

    华为手机pro和普通的区别(华为手机pro和普通的区别在哪里)

  • 小红书怎么添加自己喜欢的音乐(小红书怎么添加水印)

    小红书怎么添加自己喜欢的音乐(小红书怎么添加水印)

  • 烽火hg220gu是千兆吗(烽火 hg221gs)

    烽火hg220gu是千兆吗(烽火 hg221gs)

  • win10的运行怎么打开(win10的运行怎么打开秘密潜入2游戏)

    win10的运行怎么打开(win10的运行怎么打开秘密潜入2游戏)

  • office中怎么生成目录(word生成ceb)

    office中怎么生成目录(word生成ceb)

  • 苹果xr开机键坏了怎么开机(苹果xr开机键坏了维修多少钱)

    苹果xr开机键坏了怎么开机(苹果xr开机键坏了维修多少钱)

  • 苹果怎么设置来电视频(苹果怎么设置来电闪光灯)

    苹果怎么设置来电视频(苹果怎么设置来电闪光灯)

  • 苹果手机备忘录怎么设置时间提醒(苹果手机备忘录扫描图片转文字)

    苹果手机备忘录怎么设置时间提醒(苹果手机备忘录扫描图片转文字)

  • ps修照片基本步骤人像(ps里修照片)

    ps修照片基本步骤人像(ps里修照片)

  • 蝾螈怎么读,蝾螈图片(蝾螈白话怎么读)

    蝾螈怎么读,蝾螈图片(蝾螈白话怎么读)

  • 如何利用命令符修复ghost win7系统网络故障?(如何利用命令符复制文件)

    如何利用命令符修复ghost win7系统网络故障?(如何利用命令符复制文件)

  • web自动化测试入门篇02——selenium安装教程(web自动化测试项目)

    web自动化测试入门篇02——selenium安装教程(web自动化测试项目)

  • Chrome 网上应用店 FaWave(发微)(chrome网上应用商店在哪)

    Chrome 网上应用店 FaWave(发微)(chrome网上应用商店在哪)

  • 织梦管理系统(DedeCms)目录结构简介(织梦系统安装教程)

    织梦管理系统(DedeCms)目录结构简介(织梦系统安装教程)

  • 准予扣除的税金及附加怎么算
  • 税后经营净利率和营业净利率的区别
  • 新车车船税怎么交
  • 如何确认产品销售收入
  • 个税身份证验证不通过已经申报缴税
  • 个人独资企业租赁收入如何纳税
  • 软件和硬件可以用什么代名词
  • 可转换公司债券权益成分和负债成分
  • 无形资产增值税计入入账价值吗
  • 存货在财务报表中存在的财务操纵
  • 不动产拍卖税费怎么计算
  • 分公司哪些税需要交
  • 固定资产的入账价值怎么计算
  • 工业印花税核定比例
  • 增值税发票季报
  • 如何申报固定资产投资
  • 权责发生制如何计算
  • 建筑行业暂估成本的账务处理
  • 外账不能出现收据
  • 购入材料未入库
  • 银行票据都有哪些
  • 2019年基金市场
  • 民办学校会计分录 百度网盘
  • 企业在项目建设前必须进行
  • 小规模没有发票可以入账吗
  • 房屋出租收入是多少
  • 收到客户赔偿款计入什么科目
  • 怎么用苹果电脑查找苹果手机
  • 如何进行网络测试网速测试
  • BIOS里没有USB-HDD选项
  • 机票增值税怎么计算
  • windows太阳谷更新
  • 蝾螈白话怎么读
  • 差额部分 扣除部分
  • win10版本2004和20h2
  • win10点击网络属性没反应
  • 固定资产转让的账务处理
  • 员工意外受伤费用谁出
  • php判断查询是否有结果
  • 马德拉群岛旅游攻略
  • 非营利组织免税范围
  • 印花税需要交钱吗
  • 自然人税收系统换电脑怎么同步数据
  • vue 动态添加路由
  • 时序21-21-21-47
  • resnet+unet
  • 小程序从入门到精通
  • python的顺序
  • 以下哪些企业需要填报
  • php和mysql的联合使用解决了
  • 发票报销有时间期限吗
  • 个别计价法优缺点是什么
  • sql server 2008怎么用
  • 员工意外伤害保险最多赔多少
  • 季度缴纳企业所得税可以弥补亏损吗
  • 跨年租金如何处理
  • 投资性房地产转为存货
  • 存货跌价准备是什么意思
  • 银行存款支付业务招待费
  • 出国人员差旅出差补贴标准
  • 小规模纳税人开专票税率是多少?
  • 无法支付的款项应计入
  • 企业改制后如何管理
  • 小规模纳税人转为一般纳税人的流程
  • sql语句提取字符串中数字
  • 联想Thinkpad怎么进入安全模式
  • bios中怎么设置显卡
  • 手机找回删除的文件
  • 电脑死机是啥原因
  • 如何调整windows桌面图标大小
  • 电脑重做系统后打印机不能打印
  • win7旗舰版更改适配器没有蓝牙连接
  • win10添加开机启动项
  • dev c++怎么配置环境
  • shell的简单实现
  • activity间数据传递
  • js每天的定时任务
  • nodejs开发web
  • jquery添加自定义属性
  • 财税公司工资怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设