v-if使用
v-if=“布尔表达式”,当布尔表达式为true执行后面的内容,为false将不执行
<div id="app">
<h2 v-if="isShow">
<div>abc</div>
<div>abc</div>
<div>abc</div>
<div>abc</div>
<div>abc</div>
</h2>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el: '#app',
data: {
isShow: true
}
})
</script>
v-if和v-else使用
v-if和v-else互斥,只执行一个
<div id="app">
<h2 v-if="isShow">
<div>abc</div>
<div>abc</div>
<div>abc</div>
<div>abc</div>
<div>abc</div>
{{message}}
</h2>
<h1 v-else>isShow为false显示</h1>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el: '#app',
data: {
message: 'HelloWorld!',
isShow: true
}
})
</script>
v-if,v-else-if和v-else使用
<div id="app">
<div>
<h2 v-if="score>=90">优秀</h2>
<h2 v-else-if="score>=80">良好</h2>
<h2 v-else-if="score>=60">及格</h2>
<h2 v-else>不及格</h2>
</div>
<!--推荐在计算属性里进行逻辑判断-->
<div>
<h1>{{result}}</h1>
</div>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el: '#app',
data: {
score: 55
},
computed: {
result() {
let showMessage = '';
if (this.score >= 90) {
showMessage = '优秀';
}else if (this.score >= 90) {
showMessage = '良好';
}else if (this.score >= 60) {
showMessage = '及格';
}else {
showMessage = '不及格';
}
return showMessage;
}
}
})
</script>
v-show的使用
<div id="app">
<!--
v-if:当条件为false时,包含v-if指令的元素,根本就不会存在dom中
v-show:当条件为false时,v-show只是给我们元素添加了一个行内样式:display: none
当需要显示和隐藏之间切换很频繁时,使用v-show
当只有一次切换时,使用v-if
-->
<h2 v-if="isShow" id="aaa">{{message}}</h2>
<h2 v-show="isShow" id="bbb">{{message}}</h2>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el: '#app',
data: {
message: 'HelloWorld!',
isShow: 'true'
}
})
</script>