v-show简介
- v-show的指令的作用是:根据切换元素的显示状态;
- 原理是修改元素的display,实现显示隐藏;
- 指令后面的内容,最终都会解析为布尔值;
- 值为true元素显示,值为false元素隐藏
v-if和v-show的相同点
- 都能控制元素在页面是否显示;
- 用法也是相同的;
- 当表达式是true,都会占据页面的位置;
- 当表达式为false,都不会占据页面位置。
v-show和v-if的区别
- 控制手段不同;
- 编译过程不同;
- 编译条件不同;
- 控制手段:
- v-show隐藏则是为该元素添加css-display:none;dom元素依旧在。
- v-if显示隐藏则是将dom元素整个添加或删除;
- v-show由false变为true时,不会触发组件的生命周期;
- v-if由false变成true时,触发组件的beforeCreate、create、beforeMount、mounted钩子,由true变为false的时候触发组件beforeDestory、destoryed方法;
v-show和v-if的使用场景
v-if和v-show都能控制dom元素在页面的显示; v-if相比v-show开销更大; 如果需要非常频繁的切换,则使用v-show较好; 如果在运行时条件很少改变,则使用v-if较好;