Vue.js两个基本指令v-if和v-show学习

本文解析了Vue中v-if与v-show指令的区别,包括它们如何处理DOM元素的隐藏与显示,以及各自适用的场景。v-if适用于条件较少改变的情况,而v-show更适合频繁切换的场景。

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

v-if和v-show的区别?
对于很多初学者来说,总是有很多疑问,再使用v-if和v-show两者该用哪个?什么场景该用,有点对困难选择症状的码友们残忍,今天我们来说说这两者的区别及一般使用场景。

v-if和v-show相同点:
它们都是用于动态的控制dom的元素隐藏和显示;
v-if和v-show不相同点:
v-show 只会节点上进行对于元素进行隐藏,dom上还是有这个元素的,直接给该元素添加display:none样式;
v-if 则会完全的移除或者添加这个元素;


那大家看到这里应该对这两个基本指令有个基本了解,我们再看看实际代码是怎么实现的?
在这里插入图飞dddd片描述
可以看到上图我们再dom元素标签里面都有添加对应的指令v-if及v-show,我们通过起一个对应自己要的指令名,在下面的data里面通过布尔类型的判断去显示或者隐藏,默认true 为显示,false为隐藏;
我们来看看两个默认为true,正常显示,dom元素正常挂载。
在这里插入图片描述

下面我们分别来看看v-if及v-show分别为false情况下,dom元素会如何显示呢?
v-if:false-元素直接移除
在这里插入图片描述
v-show:false-元素直接隐藏,给元素直接添加display:none样式*在这里插入图片描述
学到这里应该都比较清晰的知道了,我们来分析一下哪种比较合适:
v-if会有更高的性能消耗,它能确保条件块内的事件监听器和子组件适当地被销毁和重,使用场景比较适合判断是否加载,需要时候再加载,减少服务器压力;
v-show就比较,不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换,比较适合频繁切换的场景,客户端操作建议使用,比较流畅
总结:如果操作很频繁,那就使用v-show ,如果极少改变:建议还是使用v-if;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值