vue中的条件指令中,v-if 和v-show 都会使属性消失,但是
v-show是通过display:none渲染消失,而v-if压根儿就不会渲染,所以在使用时建议用key属性建立缓存
HTML代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="js/vue.js"></script>
<style>
.div{
width: 100px;
height: 100px;
background-color: greenyellow;
border-radius: 50%;
}
</style>
</head>
<body>
<div id="app01">
<!-- 条件指令v-show| v-if-->
<!-- v-show:消失是以display:none渲染 -->
<div class="div" v-show="s1"></div>
<div class="div" v-show="s2"></div>
<!-- v-if:消失时不会被渲染,所以建议建立缓存,用key属性 -->
<div class="div" v-if="s1" key="div1"></div>
<div class="div" v-if="s2" key="div1"></div>
</div>
</body>
<script>
new Vue({
el:'#app01',
data:{
s1:false,
// s2:false 不写默认为false
}
})
</script>
</html>