Vue指令:记录一次v-if与v-show使用时的真实bug场景

v-if与v-show的区别

老生常谈的话题了,直接粘贴chatGPT老铁给的答案吧~

问题

最近编码中遇到的一个场景:

点击切换底部tab,由于选中的tab比未选中的大一些,所以选择了transform改变图标的大小,开始的时候我使用v-if切换图标,就出现了一个很神奇的现象(如图),切换时图标会莫名闪烁成很大一个(旋转跳跃它闭着眼),这种bug根本无法根据报错或者debug体现,

原因就是:

v-if在每一次切换时重新渲染了元素,导致transform这种变换型样式在初始时会出现错乱似的闪动,后改成v-show之后,利用display属性实现的显示和隐藏,原有属性不会在切换过程中重新被渲染,这类错误就消失了。

所以:

在正确的时候使用v-show还是很有必要的,以前我在代码中习惯使用v-if做显隐判断操作,后来逐渐在书写中养成了先做分析的习惯,这样的话这种奇奇怪怪的现象也会得到有效的解决。

最后感谢大家的喜欢,如果大家在实操中发现一些有意思的bug请给我留言,我都会一一观看并回复,万分感谢!


相关推荐
heRs BART11 分钟前
spring-boot-starter和spring-boot-starter-web的关联
前端
龙猫里的小梅啊12 分钟前
CSS(七)CSS列表控制
前端·css
浩冉学编程13 分钟前
微信小程序中基于java后端实现官方的文本内容安全识别msgSecCheck
java·前端·安全·微信小程序·小程序·微信公众平台·内容安全审核
李李李勃谦30 分钟前
鸿蒙PC配色方案工具:取色、配色生成与 CSS 导出
前端·css·华为·harmonyos
Jul1en_1 小时前
Claude 迁移 Codex 工作流迁移与更新
java·服务器·前端·后端·ai编程
Heo1 小时前
14_React 中的更新队列 updateQueue
前端·javascript·面试
前端 贾公子1 小时前
解决浏览器端 globalThis is not defined 报错
前端·javascript·vue.js
宁雨桥1 小时前
前端与AI结合实战分享
前端·人工智能
之歆1 小时前
DAY12_CSS3选择器全攻略 + 盒子新特性完全指南(下)
前端·javascript·css3
kyriewen111 小时前
代码写成一锅粥?3个设计模式让你的项目“起死回生”
开发语言·前端·javascript·设计模式·ecmascript