Vue中条件判断v-if与v-show

发布于:2022-08-02 ⋅ 阅读:(329) ⋅ 点赞:(0)

目录

1.1定义:

1.2用法:

1.3案例代码展示:

1.4拓展:

2,v-show

2.1,定义:

2.2用法: 

2.3案例代码展示:

 3,v-if与v-show的区别和使用场景


1.1定义:

v-if用于条件判断,来判断Dom元素是否显示。

1.2用法:

(1),单独使用v-if,变量为布尔值,为true才渲染Dom。false不渲染Dom。

(2),可以将变量写成能转换为布尔值的表达式。

(3),v-if、v-else、v-else-if联合使用相当于if、elseif、else,但是在条件比较多的时候建议使用计算属性。

1.3案例代码展示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
			<h2 v-if="isFlag">我们是勇于战斗的</h2>
			
			
			<h3 v-if="age<18">我们是青少年</h3>
			<h3 v-else-if="age<60">我们是18到60的青壮年</h3>
			<h3 v-else>大于60岁我们是老年人</h3>
		</div>
		<script>
			const vm = new Vue({
				el:'#app',
				data(){
					return {
						isFlag:false,
						age:15
					}
				}
			})
			
		</script>
	</body>
</html>

1.4拓展:

(1)v-if渲染DOM,为false时移除显示,是比较强硬的手段,直接将节点删除。

(2),v-if,v-else-if,else,配合使用,一旦符合条件,不执行其他的条件

(3)else后面不用写表达式,不用判断,其他不满足条件,会直接执行。

2,v-show

2.1,定义:

条件渲染页面,也是布尔值,true,渲染页面,false隐藏。

2.2用法: 

(1)实际上是操作dom节点的显示与隐藏,相当于css中display属性。

(2)false时,隐藏元素,实际还在,只是不显示。

 2.3案例代码展示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
			<h2 v-show="isShow">继续战斗</h2>
		</div>
		<script>
			const vm = new Vue({
				el:'#app',
				data(){
					return {
						isShow:false
					}
				}
				
			})
		</script>
	</body>
</html>

 

 

 3,v-if与v-show的区别和使用场景

(1),v-if显示与隐藏元素是通过删除和添加节点来完成的,v-show是通过对节点进行display:none/block操作,并没有删除节点。

(2)v-if性能上要比v-show差,开销比较大。

(3),如果要实现频繁点击功能操作,推荐使用v-show,性能好,开销小。


网站公告

今日签到

点亮在社区的每一天
去签到