Vue 的条件判断语句
@[TOC] 条件语句Vue 的条件判断语句v-if条件判断用 v-if 指令代码示例:在元素中使用 v-if 指令<div id="app"><input type="button" value='toggle' @click='flag=!flag'><h3 v-if='flag'&a
·
@[TOC] 条件语句
Vue 的条件判断语句
v-if
条件判断用 v-if 指令
代码示例:在元素中使用 v-if 指令
<div id="app">
<input type="button" value='toggle' @click='flag=!flag'>
<h3 v-if='flag'>v-if directive</h3>
</div>
var vm = new Vue({
el:'#app',
data:{
flag:true
},
methods:{}
});
这里, v-if 指令将根据表达式 flag 的值 (true 或 false ) 来决定是否插入 h3 元素。
v-else
可以用 v-else 指令给 v-if 添加一个 “else” 块
代码示例:在元素中使用 v-if , v-else 指令
<div id="app">
<h3 v-if='flag'>Yes</h3>
<h3 v-else='flag'>No</h3>
</div>
var vm = new Vue({
el:'#app',
data:{
flag:true
},
methods:{}
});
这里, v-if,v-else 指令将根据表达式 flag 的值 (true 或 false ) 来决定是否插入 h3 元素以及元素中的值。
v-else-if
v-else-if 在 2.1.0 新增,用作 v-if 的 else-if 块。可以链式的多次使用
代码示例:在元素中使用 v-if , v-else, v-else-if 指令
<div id="app">
<h3 v-if='star==="Jackson"'>Jackson</h3>
<h3 v-else-if='star==="Lay"'>Lay</h3>
<h3 v-else='star==="Yang"'>Yang</h3>
</div>
var vm = new Vue({
el:'#app',
data:{
star:Jackson
},
methods:{}
});
v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。
v-show
v-show 跟 v-if 的效果差不多;但本质有很大的区别。
代码示例:v-if 与 v-show 的区别
<div id="app">
<input type="button" value='toggle' @click='toggle'>
<!-- 一般来说,v-if 有更高的切换消耗,而 v-show 有更高的初始渲染消耗。
因此,如果需要频繁切换:用 v-show 较好;如果在运行时条件不大可能改变:
用 v-if 较好 -->
<h3 v-if='flag'>v-if directive</h3>
<h3 v-show='flag'>v-show directive</h3>
</div>
<script>
var vm = new Vue({
el:'#app',
data:{
flag:true
},
methods:{
toggle(){
this.flag =! this.flag;
}
}
});
</script>
v-if 与 v-show 的区别
区别一:
- v-if 是动态添加,当值为 false时,是完全移除该元素,即 DOM 不存在;
- v-show 仅隐藏 / 显示,值为 false 时,该元素依旧存在于 DOM,若其原样式设 display:none 则会导致其无法正常显示
区别二:
- v-if 有较高的切换性能消耗
- v-show 有较高的初始渲染消耗
更多推荐
已为社区贡献1条内容
所有评论(0)