VUE之v-if、v-else-if、v-else、v-show用法及区别

v-if、v-else:同if、else的用法

v-if里面的东西是个布尔类型的变量,也可以加条件表达式

<div id="ceshi" >
    <p>用户名:{{username}}</p>
    <!-- 判断是不是VIP -->
    <p v-if="isVip">用户类型:vip</p>
    <!-- 注意:v-if和v-sele中间不能有其他元素 -->
    <p v-else>用户类型:普通用户</p>

    <!-- 条件渲染,三个判断 -->
    <!-- 根据年龄显示相应内容 -->
    <p v-if='age>18'>年龄大于18岁</p>
    <p v-else-if='age>14'>年龄大于14岁</p>
    <p v-else>年龄小于14岁</p>
</div>
<script>
        var ceshi = new Vue({
            el:"#ceshi",
            data:{
                isVip:true,//如果是true,显示用户类型为VIP的内容,否则显示下一条普通用户的内容
                username:"小吴",
                age:13,
            }
        })
</script>

v-if:直接修改dom,如果v-if为false,则对应的dom节点会被删掉。不显示时,第一次就直接不渲染,如果是内容已经显示,将内容直接从Dom去除,只是渲染一次的内容用

v-show:是通过display属性进行的控制。不显示时,就会改为display:none,但是会渲染在dom上,需要反复切换内容,使用v-show

v-show切换显示:

    <div id="ceshi" >
    <div v-show="isShow" id="pane">
          测试一下
    </div>
    <button @click="showBtn">切换显示内容</button>
    </div>
    <script>
        var ceshi = new Vue({
            el:"#ceshi",
            data:{
                isShow:true,
            },
            methods: {
                showBtn:function(){
                    this.isShow=!this.isShow //也可以用ceshi.isShow=!ceshi.isShow,如果用false的话就只能改变一次 
                }
            },
        })
    </script>

if-elsei实现tab切换

<div id="app">
        <h3 v-if="tab==1">标题1</h3>
        <h3 v-else-if="tab==2">标题2</h3>
        <h3 v-else>标题3</h3>
        <div>
            <button @click="changeBtn" data-id="1">标题1</button>//这里的data-id是指的点击按钮之后target内容中dataset里面的id号
            <button @click="changeBtn" data-id="2">标题2</button>
            <button @click="changeBtn" data-id="3">标题3</button>
        </div>
    </div>
    <script>
        var app = new Vue({
            el: '#app',
            data: {
                tab: 1,
            },
            methods: {
                changeBtn: function (e) {
                    console.log(e)
                    this.tab = e.target.dataset.id //将Vue对象里面的data中的tab的值赋为点击按钮之后的目标id值
                }
            }
        })
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值