开发者学堂课程【Vue.js 入门与实战:v-if 和 v-show 的使用和特点】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/586/detail/8141
v-if 和 v-show 的使用和特点
目录:
一、v-if 和 v-show 的特点
二、v-if 和 v-show 的使用
一、v-if 和 v-show 的特点
一般来说,v-if 有更高的切换消耗而 v-show 有更高的初始渲染消耗。因此,如果需要频繁切换 v-show 较好,如果在运行时条件不大可能改变 v-if 较好。
1.v-if 的特点
每次都会重新删除或创建元素
2.v-show 的特点
每次不会重新进行 DOM 的删除和创建操作,只是切换了元素的 d isplay:none 样式
二、 v-if 和 v-show 的使用
v-if 和 v-show 的使用.html
<head>
<meta charset="UTF一8">
<metaname="viewport"content="width=device-wid,initial-scale=1.0">
<meta_http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="./lib/vue-2.4.0.js"></script>
</ head>
<body>
<div id "app">
<inputtype="button"value="toggle"eclick="flag=!flag">
<! -- v-if 的特点:每软都会重新删除或创建元素-->
<!-- v-show的特点︰每次不会重新进行DoM的删除和创建操作,只是切换了元素的 display:none样式-->
<h3 v-if="flag">这是用v-if控制的元素</h3>
<h3 v-show="flag">这是用v-show控制的元素</h3>
</ div>
<script>
//创建vue实例,得到viewModel
var vm = new vue ( i
el: '#app ',
data:{
flag: true ,
methods: {
toggle() {
This.flag=!This.flag
}
}
});
</script>
v-if 有较高的切换性能消耗
多个元素 通过条件判断展示或者隐藏某个元素。或者多个元素进行两个视图之间的切换
v-show 有较高的初始渲染消耗
v-show 指令的作用是:根据真假切换元素的显示状态原理是修改元素的 display,实现显示隐藏
指令后面的内容,最终都会解析为布尔值值为 true 元素显示,值为 false 元素隐藏
数据改变之后,对应元素的显示状态会同步更新
如果元素涉及到频繁的切换 ,最好不要使用 v-if,而是推荐使用 v-show,元素未被显示
如果元素可能永远也不会被显示出来被用户看到,则推荐使用 v-if