问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

解决vue页面DOM操作不生效的问题

发布网友 发布时间:2022-04-28 12:42

我来回答

1个回答

热心网友 时间:2022-04-20 18:40

现象:
使用Element
UI渲染了一个树形结构,设计在鼠标移入每个节点是显示其中的操作按钮,效果如下:
下面是出错部分:
在新增节点后移入新增节点附近(图中是移入一级2),功能按钮的显示位置出现偏移
原因查找:
经过调试发现是在新增节点后,执行DOM操作获取节点时,取到的仍是之前的结构,新增的节点并未获取到。
原因分析:
猜测是vue使用的虚拟DOM,使得页面虽然已经渲染出来,但在Vue实例中让处在在虚拟DOM中,无法获取。
解决方法:
使用Vue.nextTick,看下官方材料:
‘在下次
DOM
更新循环结束之后执行延迟回调',这句话不是特别理解,不过可以看出DOM更新是一个循环的过程,在过程结束之前无法获取到真实的DOM元素(至于这个循环是多久,还在探索中)。而将DOM操作放在nextTick中操作便可以获取到更新后的DOM。
结果:
依据上述原理,将DOM操作的函数在更新数据后在nextTick里调用,实现了理想中的效果。
以上这篇解决vue页面DOM操作不生效的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:vue指令以及dom操作详解
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... vue 树形结构列表 怎么判断一级列表还是二级列表? 如何将后台的树形数据、倒序的展示到前台vue+饿了么UI组件中的 面包屑... 在vue中使用ztree树形组件,如何将ztree图片,改成字体图标呢?求解答?求... 《童年》读后感560字。现在急需 深圳市阳光三采文化科技有限公司怎么样? 宝贝猪读后感? 求一篇<神奇宝贝>的读后感 跪求600字读后感 印第安神话故事读后感300字? 东莞市阳光宝贝教育投资有限公司怎么样? 《阳光宝贝》中四个国家,哪个国家的养育方法最科学? 《你是我的宝贝》读后感 鸡蛋葱花饼的家常做法大全怎么做好吃视频 宝贝猪读后感400字怎么写? 宝贝猪读后感怎么写? 童年每一章读后感(200字左右) “亲爱的宝贝,如果你能活着,一定要记住我爱你.”这个故事 读后感想 《宝贝 宝贝》(少年版)《小嘎豆》《艾晚的水仙球》《云裳》《熊猫回家的路》的读后感300字。 《宝贝 宝贝》读后感小学五年级的 css能实现计算公式吗?比如1+1=2 3-2=1 请大师解答?? vue渲染左边菜单栏,点击会出现二级菜单,渲染不成功 切换标签后,发现js有缓存,事件多次触发,如何解决 vue ivew menu 中三级菜单伸缩,箭头无法切换 vue 左侧菜单出现重复菜单问题怎么解决? 有遇到过这样的问题吗?_百 ... 这种参考手册用什么实现的,比如html;css;是否用js,大概框架? 科威特是哪个国家的? 科威特在哪个国家 科威特是哪个国家 科威特首都是哪个城市? 目前世界上最热的城市是哪个 有人知道科威特这个国家吗?? 科威特面积 科威特城的阳光下最高温度一度达到73℃,这种高温下适合生命存活吗? 大家教我一个魔术,就是一片纸怎么怎么样后,可以在你双手之间浮起,不用绳子,我认为用静电可以 静电怎么让钱飘起来 求一个厉害的预测魔术 求魔术! 谁能教我几个魔术? 让纸币悬空的魔术,需要什么道具? 魔术揭密,急啊!!