一、首先来看下v-show 与 v-if 的区别1、共同点:当为false时,两者渲染的标签都不显示,当条件不成立时,其所对应的标签元素都不可见2、不同点:①.v-if在条件切换时,会对标签进行适当的创建和销毁,而v-show则...
一、首先来看下v-show 与 v-if 的区别
1、共同点:当为false时,两者渲染的标签都不显示,当条件不成立时,其所对应的标签元素都不可见
2、不同点:
①.v-if在条件切换时,会对标签进行适当的创建和销毁,而v-show则仅在初始化时加载一次,因此v-if的开销相对来说会比v-show大。
②.v-if是惰性的,只有当条件为真时才会真正渲染标签;如果初始条件不为真,则v-if不会去渲染标签。v-show则无论初始条件是否成立,都会渲染标签,它仅仅做的只是简单的CSS切换。
使用时选哪个比较好呢?
由于,v-if 有更高的切换开销(元素的创建与销毁),而 v-show 有更高的初始渲染开销(display属性控制元素的显示与消失)。
因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。
二、v-else 的使用
注意:v-if
与 v-else
要挨着写才起作用
<template>
<div>
<p v-if="isShow">true</p>
<p v-else>false</p>
</div>
</template>
<script>
export default {
data(){
return{
isShow:false,
}
}
}
</script>
输出:false
三、v-else-if 的使用
<template>
<div>
<p v-if="type=='A' ">A</p>
<p v-else-if="type=='B'">B</p>
<p v-else-if="type=='C'">C</p>
<p v-else>Not A/B/C</p>
</div>
</template>
<script>
export default {
data(){
return{
type:"B",
}
}
}
</script>
代码解读:以上代码输出B
首先判断type是否等于A,如果是,就输出A,如果不是,就继续判断B,以此类推,如果都不是就输出最后一个v-else
中的内容
本文标题为:vue中的条件渲染 v-show、v-if、v-else、v-else-if
基础教程推荐
- 关于Ajax跨域问题及解决方案详析 2023-02-23
- uniapp开发微信小程序自定义顶部导航栏功能实例 2022-10-21
- cocos creator游戏实现loading加载页面,游戏启动加载动画 2022-10-29
- Ajax+smarty技术实现无刷新分页 2022-12-15
- Ajax发送和接收请求 2022-12-15
- Javascript Bootstrap的网格系统,导航栏和轮播详解 2023-08-11
- 在实战中可能碰到的几种ajax请求方法详解 2023-02-01
- 使用ajax跨域调用springboot框架的api传输文件 2023-02-23
- HTML clearfix清除浮动讲解 2022-11-20
- JS滚动到顶部踩坑解决记录 2023-07-10