点击切换activeTab出现白屏报错(v-if vs v-show)

文章讨论了在Vue中使用v-show和v-if实现Tab内容切换的差异,指出v-if导致组件重建和页面重载可能导致性能问题,而v-show仅改变CSS样式,适用于频繁切换和大量DOM元素的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求讲述:

同一个页面点击切换tab ,如何选择实现方式实现该Tab下内容的显示与隐藏?v-show?v-if?

咋一看这两者实现起来也没什么问题

但是!!!

看一个简单页面 企业填写和个人填写 我是绑定了不一样的表单

使用 v-if v-else多切换几次

就出现白屏 报错 typeError

用v-show

正常使用

v-if和v-show的区别:

v-if :是组件的重建和销毁,每次切换都会重新加载页面(如果每次切换的时候都去请求后端数据,那完蛋,每次切换重新加载页面,转场加载ap时间长 ,元素排版和渲染过慢,拖累了整个页面),消耗性能,时间偏长(页面加载可以看一下vue的生命周期页面加载时序
v-show:是css display样式的显示和隐藏,不需要重新加载页面元素,渲染速度快。

特别是在两个极端情况下两者区别很大:

1.单个tab下dom元素过多

看了上面的区别都记住了哈:这种情况用v-show

2.切换tab频率过于频繁

用v-show

以上是我个人见解~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值