首先给大家说一下v-if和v-show的区别
v-if就是当判断为false的时候,直接不显示,而v-show当判断为false的时候,是显示display:none,我们来看下效果:
<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<input type="button" value="反选" @click="show=!show"/>
<br/>
<span v-if="show">v-if显示啦{{show}}</span>
<br/>
<span v-show="show">v-show显示啦{{show}}</span>
</div>
</body>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
const app = new Vue({
el:"#app",
data:{
show:true
}
})
</script>
</html>
这里就可以看到直接v-if就不显示任何东西,而v-show就显示display:none。
然后就是v-if,v-else-if, v-else的使用方法。
<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<!--<input type="button" value="反选" @click="show=!show"/>-->
<input type="button" value="生成随机数" @click="random=Math.random()*20"/>
<br/>
<span v-if="random>10">这个数字为:{{random}},大于10</span>
<span v-else-if="random>5">这个数字为:{{random}},大于5小于10</span>
<span v-else="random>0">这个数字为:{{random}},大于0小于5</span>
<br/>
<!--<span v-show="show">v-show显示啦{{show}}</span>-->
</div>
</body>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
const app = new Vue({
el:"#app",
data:{
show:true,
random:0
}
})
</script>
</html>
这里要注意这个v-if后面如果写了v-else-if的话,中间不能插入其他东西,否则就无法判定这两个条件是相关的了。
最后v-if和v-for一起使用的时候,是先执行v-for的循环,然后在每个循环中,使用v-if判断条件的。