一、首先来看下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
- 关于 html:如何从 css 表中删除边距和填充 2022-09-21
- 1 Vue - 简介 2023-10-08
- layui数据表格以及传数据方式 2022-12-13
- 深入浅析AjaxFileUpload实现单个文件的 Ajax 文件上传库 2022-12-15
- javascript 判断当前浏览器版本并判断ie版本 2023-08-08
- jsPlumb+vue创建字段映射关系 2023-10-08
- 基于CORS实现WebApi Ajax 跨域请求解决方法 2023-02-14
- vue keep-alive 2023-10-08
- ajax实现输入提示效果 2023-02-14
- JS实现左侧菜单工具栏 2022-08-31