v-if 和 v-show的作用和区别

作用:

都是条件渲染指令

区别:

1.无论v-show的值为true或者false,元素都会存在于html页面中; 而v-if的值为true时,元素才会存在于html页面中,
	v-show指令是通过修改元素的display属性来实现的
## v-if是动态地向DOM树内添加或者删除DOM元素,v-show是通过设置DOM元素的display样式属性控制显隐的

## v-if是"真正的"条件渲染,因为它会确保在奇幻过程中条件快内的事件监听器和子组件适当的销毁和重建,
	 v-if也是惰性的,如果在初始渲染时条件为假,则什么也不做,直到条件第一次变为真时,才开始渲染条件块
	 
##v-show不管初始条件是什么,元素总会背渲染,并且只是简单地基于css进行切换

##一般来说,v-if有更高的切换开销,而v-show则有更高的初始渲染开销

##因此,如果需要非常频繁地切换,使用v-show比较好,如果在运行时条件不会改变时,用v-if比较好

2.切换时生命周期函数的执行
v-if
##初始渲染
	初始值为false时,不会渲染(所谓惰性),生命周期函数不会执行
	初始值为true时,组件开始渲染,依次执行beforCreate,created,beforeMount,mounted等生命周期
##切换时
	从false到true:依次执行beforeCreate,created,beforeMount,moynted
	从true到false:依次执行beforeDestroy,destroyed
v-show
##初始渲染
	无论初始状态为true还是false,组件都会渲染,依次执行beforeCreate,created,beforeMount,mounted
##切换
	基于css进行切换,对生命周期函数无影响.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值