问题:v-if和v-show我们都经常用来控制某一部分内容的显示与隐藏,那么其具体区别是什么呢?
1.v-if
v-if是通过增添和删除DOM来控制元素的显示与隐藏的
- 当判断值为true时在DOM树中加入该DOM元素
- 当判断值为false时在DOM树中删除该DOM元素
2.v-show
v-show是通过改变该元素css样式中的display属性值来控制元素的显示隐藏的
- 当指令后的判断值为true时该属性的值为block,此时元素显示
- 当指令后的判断值为false时该属性的值为none,此时元素隐藏
3.两者的区别和使用场景
(1)区别
通过v-show来控制显示隐藏的元素是始终渲染在该HTML的DOM树中的,只是通过改变其display属性的值来控制元素的显示隐藏的,而通过v-if来控制元素的显示隐藏是真正意义上的添加或删除该DOM元素
(2)使用场景文章来源:https://www.toymoban.com/news/detail-435613.html
因其原理不同,故而因在不同的场景去使用,v-show是通过css属性来控制的元素显示隐藏,故而初次渲染的消耗要大于v-if,但后续的控制消耗则小很多,v-if每次的改变都要去操作DOM元素,所以当我们需要较为频繁的去控制元素时应该使用v-show,若切换次数很少或者初次判断显示多者中的一个时则应该使用v-if文章来源地址https://www.toymoban.com/news/detail-435613.html
到了这里,关于vue中v-if和v-show的区别和使用场景的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!