v-if
功能:通过v-if="ture\false"
来决定标签里面的内容是否渲染。
v-if + v-else
如果v-if
里面的内容为true,渲染v-if
的内容,否则渲染v-else
的内容。
<div id="app">
<h2 v-if="isShow">
<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: '你好啊',
isShow: true
}
})
</script>
v-if + v-else-if + v-else
根据条件判断应该渲染哪个标签的内容。
<div id="app">
<h2 v-if="score>=90">优秀</h2>
<h2 v-else-if="score>=80">良好</h2>
<h2 v-else-if="score>=60">及格</h2>
<h2 v-else>不及格</h2>
<h1>{{result}}</h1>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el: '#app',
data: {
score: 99
},
computed: {
result() {
let showMessage = '';
if (this.score >= 90) {
showMessage = '优秀'
} else if (this.score >= 80) {
showMessage = '良好'
}
// ...
return showMessage
}
}
})
</script>
v-show
v-show只是增加了行内样式 display:none,让标签不显示,但这个标签还是被渲染到真实dom里面的。
v-if是根据条件,决定这个元素要不要被渲染到真实dom。
开发中选择v-if还是v-show?
如果元素的切换频率很高,使用v-show
如果只切换一次,则使用v-if
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。