一、两者区别
1、从本质上来说:
v-if的本质是动态创建和删除元素节点;
v-show的本质是控制元素的css样式display属性(diaplay: block;)。
2、从使用情况来说:
v-if一般不用频繁切换显示隐藏,主要用于要么显示要么隐藏的情况;
v-show一般用于频繁切换显示隐藏。
二、两者使用情况的原因
因为v-if的惰性,当初始值为false时,当前的元素不用创建,可以节省一些初始渲染开销;
当需要频繁切换显示隐藏时,如果用v-if方法,就会大量创建和删除元素,会造成性能消耗。