v-show="false"就是隐藏
使用v-if做渲染,如果为false,它直接把结构都干掉了
实现一功能:页面上有一个标题n;下面有个按钮;如果按下就让n++;当n===?时显示不同的div
实现一个效果,当n===1时,实现三个div,三个div都要用到v-show,代码重复率太高了,如果在外面套一个div,确实可以一行实现但是这样写影响了结构,后面如果我们要用css,可能实现不了一些效果
但是可以用template(模板),这样在页面加载时,会把template去掉,这样就不影响结构了。
注意的是:template 只能与v-if一起使用,不能跟v-show一起使用
总结
条件渲染:
1.v-if
写法:
(1).v-if="表达式"
(2).v-else-if="表达式"
(3).v-else="表达式"
适用于:切换频率较低的场景。
特点:不展示的DOM元素直接被移除。
注意:v-if可以和:v-else-if、v-else一起使用,但要求结构不能被“打断”。
2.v-show
写法:v-show="表达式"
适用于:切换频率较高的场景。
特点:不展示的DOM元素未被移除,仅仅是使用样式隐藏掉
3.备注:使用v-if的时,元素可能无法获取到,而使用v-show一定可以获取到。
当前的n值是:{{n}}
北京
广州
上海