菜菜菜鸟日记---- Vue框架v-if v-show
Vue框架中提供两种条件渲染方式V-if 和 v-for
V-if
v-if会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建;如果在初始渲染时条件为假,他就什么也不做,直到条件第一次变为真的时候,才会渲染条件块;可配合v-else使用。
V-show
可以看出v-show仅仅是切换元素的display属性,元素始终都会被渲染,v-show不支持template元素 ,如果页面需要频繁的切换,使用v-show比较好
**注:** 不推荐同时使用 v-if 和 v-for。当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级。
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>v-if-v-show</title>
<script src="../js/vue.js"></script>
<script>
window.onload = function () {
var cheng = new Vue({
el: '#cheng',
data: {
show: true,
a: 1,
},
methods: {
}
})
}
</script>
</head>
<body>
<div id="cheng">
<section v-show='show'>show----</section>
<hr>
<template v-if='a'>
<!-- 当a的值返回true时下面三个section才会展示否则执行v-else -->
<section>1111</section>
<section>2222</section>
<section>3333</section>
</template>
<template v-else='a'>
<section>aaaa</section>
<section>bbbb</section>
<section>cccc</section>
</template>
</div>
</body>