位置: IT常识 - 正文

vue3使用nextTick(vue3使用ref获取元素)

编辑:rootadmin
vue3使用nextTick 发现nextTick必须放在修改一个响应式数据之后,才会在onUpdated之后被调用,如果nextTick是放在所有对响应式数据修改之前,则nextTick里面的回调函数会在onBeforeUpdate方法执行前就被调用了。可是nextTick必须等到onUpdated执行完成之后执行,才能拿到渲染得到的dom下面发请求的时候是没有使用async的(Promise的语法糖),它里面的then函数对serverRef的修改,会再一次触发组件重新渲染,也就是onBeforeUpdate和onUpdated又被回调了一次,也就是说,下面的toggleColor这个方法,触发了2次渲染。---onBeforeMounted---RefImpl {__v_isShallow: false, dep: undefined, __v_isRef: true, _rawValue: null, _value: null}---mounted---RefImpl {__v_isShallow: false, dep: undefined, __v_isRef: true, _rawValue: span, _value: span}halo world---onBeforeUpdate------onUpdated---RefImpl {__v_isShallow: false, dep: undefined, __v_isRef: true, _rawValue: button, _value: button}nextTick1res ojbk---onBeforeUpdate------onUpdated---nextTick2<template> <div style="display: flex;"> <ul class="ul-list"> <li v-for="i in num" :id="'li'+i" >{{ i }}</li> </ul> <div class="div-desc"> <input type="text" v-model="n"> <button @click="handleClick">修改num</button> <br> <br> <button @click="toggleColor">切换span颜色</button> <span ref="spanRef" :style="{color:colorRef}">span</span> *{{ serverResp }}* <button v-if="isShow" ref="btnRef">dd</button> </div> </div></template><script lang="ts" setup> import { ref,reactive,onBeforeMount,onMounted,onBeforeUpdate,onUpdated,nextTick,getCurrentInstance } from 'vue' const { proxy } = getCurrentInstance() let num = ref(10) let n = ref(10) const btnRef = ref(null) let isShow = ref(false) let serverResp = ref('') const spanRef = ref(null) const handleClick = () => { num.value = parseInt(n.value) } const colorRef = ref('') const toggleColor = () => { debugger proxy.Request({ url:'http://localhost:8083/test' }).then(res=>{ debugger console.log('res',res); serverResp.value = res nextTick(()=>{ // 要放在对响应式数据修改之后 debugger console.log('nextTick2'); }) }) debugger isShow.value = true nextTick(()=>{ // 要放在对(至少一个)响应式数据修改之后, // 否则这里函数调用将拿不到btnRef,必须要等到onUpdated回调之后,执行nextTick里面的回调才能拿到btnRef debugger console.log(btnRef); console.log('nextTick1'); }) if(colorRef.value === 'red') { colorRef.value = 'blue' } else { colorRef.value = 'red' } num.value = num.value - 1 debugger console.log('halo world'); } onBeforeMount(() => { console.log('---onBeforeMounted---') console.log(spanRef); }) onMounted(()=>{ console.log('---mounted---') console.log(spanRef); spanRef.value.style.color = 'cyan' }) onBeforeUpdate(()=>{ debugger console.log('---onBeforeUpdate---') }) onUpdated(()=>{ debugger console.log('---onUpdated---') })</script><style lang="scss"> .ul-list { width: 100px; } .div-list { width: 300px; }</style>

推荐整理分享vue3使用nextTick(vue3使用ref获取元素),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue3使用vuex,vue3使用ref,vue3使用技巧,vue3使用技巧,vue3使用ref获取元素,vue3使用vuex,vue3使用vuex还是pinia,vue3使用vuex还是pinia,内容如对您有帮助,希望把文章链接给更多的朋友!

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

上一篇:由浅入深介绍 Python Websocket 编程(由浅入深英语怎么说)

下一篇:设置背景图片大小的方法(设置背景图片大小和元素的大小一致的代码)

  • 关于市场营销,一位CEO希望能早知道的5件事(关于市场营销功能的表述哪个是错误的)

    关于市场营销,一位CEO希望能早知道的5件事(关于市场营销功能的表述哪个是错误的)

  • 怎么获得小红书曝光奖励(怎么获得小红书流量)

    怎么获得小红书曝光奖励(怎么获得小红书流量)

  • iqooz1x指纹解锁的方式是什么

    iqooz1x指纹解锁的方式是什么

  • 苹果xr自动关机了,怎么也打不开了(苹果xr自动关机开机怎么回事)

    苹果xr自动关机了,怎么也打不开了(苹果xr自动关机开机怎么回事)

  • 小雅nano必须插电才能用吗(小雅nano能听歌吗)

    小雅nano必须插电才能用吗(小雅nano能听歌吗)

  • 遥控飞机充电口在哪(遥控飞机充电口一般有那种类型)

    遥控飞机充电口在哪(遥控飞机充电口一般有那种类型)

  • 开通抖音直播卖东西的要求是什么(开通抖音直播卖货保证金交多少)

    开通抖音直播卖东西的要求是什么(开通抖音直播卖货保证金交多少)

  • 鼠标一点选中很多图标(鼠标一点选中很卡怎么办)

    鼠标一点选中很多图标(鼠标一点选中很卡怎么办)

  • 闲鱼未读信息能撤回吗(闲鱼的未读是没回复吗)

    闲鱼未读信息能撤回吗(闲鱼的未读是没回复吗)

  • sansa双模5G什么意思(sansa双模能用4g卡吗)

    sansa双模5G什么意思(sansa双模能用4g卡吗)

  • 为什么手机没关机别人打总在关机(为什么手机没关机打过去显示关机)

    为什么手机没关机别人打总在关机(为什么手机没关机打过去显示关机)

  • 如何获取对方手机型号(如何获取对方手机号)

    如何获取对方手机型号(如何获取对方手机号)

  • 钉钉直播卡顿怎么办(钉钉直播卡顿怎么办苹果系统)

    钉钉直播卡顿怎么办(钉钉直播卡顿怎么办苹果系统)

  • 路由器mbps什么意思(路由器mbps越高越好吗)

    路由器mbps什么意思(路由器mbps越高越好吗)

  • itunes能在安卓手机上下载吗(itunes能在安卓用吗)

    itunes能在安卓手机上下载吗(itunes能在安卓用吗)

  • 桌面云备份有什么用(桌面云备份有什么)

    桌面云备份有什么用(桌面云备份有什么)

  • ps修改图片尺寸快捷键(如何用ps修改图片尺寸)

    ps修改图片尺寸快捷键(如何用ps修改图片尺寸)

  • 打印时怎么把原文的水印打印出来(原样打印)

    打印时怎么把原文的水印打印出来(原样打印)

  • 手机wps怎么做文件夹(手机wps怎么做文件夹放照片)

    手机wps怎么做文件夹(手机wps怎么做文件夹放照片)

  • 如何投诉京东订单取消(如何投诉京东买家)

    如何投诉京东订单取消(如何投诉京东买家)

  • qq别人送的礼物有什么用(qq别人送的礼物可以换成钱吗)

    qq别人送的礼物有什么用(qq别人送的礼物可以换成钱吗)

  • qq怎么点亮闺蜜标识(手机qq怎么点亮点闺蜜标识)

    qq怎么点亮闺蜜标识(手机qq怎么点亮点闺蜜标识)

  • 拼多多省钱月卡是不是什么单都能免?(拼多多省钱月卡免费领取3个月怎么取消)

    拼多多省钱月卡是不是什么单都能免?(拼多多省钱月卡免费领取3个月怎么取消)

  • 华为p30数据线型号(华为p30数据线型号是多少)

    华为p30数据线型号(华为p30数据线型号是多少)

  • 堆内存和栈内存区别(堆内存和栈内存溢出)

    堆内存和栈内存区别(堆内存和栈内存溢出)

  • vivoz1和z3x有什么区别(vivo系列z1x和z3哪个好)

    vivoz1和z3x有什么区别(vivo系列z1x和z3哪个好)

  • 借呗可以不刷脸开通么(借呗可以不刷脸借钱吗)

    借呗可以不刷脸开通么(借呗可以不刷脸借钱吗)

  • 阿里巴巴如何一件代发(阿里巴巴如何一件代发到快手)

    阿里巴巴如何一件代发(阿里巴巴如何一件代发到快手)

  • enbiei.exe是什么病毒程序吗 enbiei进程的信息查询(encore是什么软件)

    enbiei.exe是什么病毒程序吗 enbiei进程的信息查询(encore是什么软件)

  • gcasDtServ.exe是什么进程 有什么作用 gcasDtServ进程查询(gcuservice.exe)

    gcasDtServ.exe是什么进程 有什么作用 gcasDtServ进程查询(gcuservice.exe)

  • 企业纳税人是什么
  • 企业代扣代缴个人所得税系统
  • 自动售货机进货渠道
  • 企业银行贷款报表要求
  • 会计上视同销售的八种情况是哪些
  • 用友取消操作在哪里
  • 现金流量补充表的编制
  • 软件销售利润
  • 降低企业成本的有效途径
  • 资本公积账务
  • 远期采购合同会查吗
  • 审计核减理由
  • 以前借款没做账现在收回来怎么做账务处理?
  • 调账以前年度损益调整如何结转
  • 已经入库的商品出库了要怎么做会计分录
  • 转让部分股份流程
  • 企业购进口汽车会计分录
  • 申报状态显示申报失败
  • 个体工商户开票金额超过核定了咋办
  • 三证合一后还要去税务局吗
  • 保险公司如何计算车辆折旧
  • 设备安装税率是6%还是9%
  • 人力资源外包服务收费标准
  • 处置打包债权如何缴纳个人所得税?
  • 职业培训和职业技能培训的区别
  • 汇算清缴专项附加扣除去年忘记填的能补填吗?
  • win10系统怎么设置锁屏壁纸
  • 出口报关单有什么用
  • 金税盘减免税款可以抵扣销项税吗
  • linux系统备份整个硬盘的命令
  • 个税这个月多交了下个月减回来
  • 保险公司的展业方式
  • 海关滞报金可以税前扣除吗 江苏
  • 工资属于收益类科目吗
  • 钢管扣件租赁公司社会实践报告怎么写范文
  • 什么是Unicode
  • css获取id
  • torchaudio教程
  • php对象是值传递还是引用传递
  • ntpq命令详解
  • vue-print-nb-jeecg
  • 织梦如何给栏目增加缩略图
  • 清单应该盖公章还是财务章
  • 一般纳税人补交印花税买卖合同
  • 国外公司给国内个人汇款
  • vue2响应式原理面试回答
  • 计提工资的时候计提个税吗
  • 缴纳的税费怎么计算
  • sql查询结果分页
  • 营业执照注销要钱吗
  • 公司租用个人房子凭收据可以入账吗
  • 营业外收入应如何核算
  • 退回投标保证金在投诉阶段怎么办
  • 收到其他公司款项会计分录
  • 跨年度退货
  • 投资性房地产在建
  • 养老院的账务处理会计实务问答
  • 账务调整的原则
  • 附条件的行政行为有哪些
  • 编制合并财务报表的依据是纳入合并
  • 获取linux系统版本
  • win8.1怎么升级成win7
  • linux模块的概念
  • win10正版免费升级
  • surface准备就绪
  • win10预览版绿屏重启解决
  • 斗西游破解版
  • unity播放声音的方法
  • javascriptz
  • python网络编程视频教程
  • jquery焦点
  • 基于nodejs的api框架
  • js原生dialog
  • typeto
  • Python中使用装饰器来优化尾递归的示例
  • 企业改制相关文件
  • 湖北国税网上办税大厅官网
  • 电子税务局帐号不知道怎么找
  • 安徽高考实行什么模式
  • 税控盘打印机设置参数
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设