vue v-if方法扩展写法

本文介绍在Vue中优化条件渲染的方法,包括使用数组索引和自定义过滤器替代v-if、v-else-if、v-else,提高代码可读性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用vue的时候,经常会使用到v-if、v-else-if、v-else通过条件来判断具体显示某种信息,这种方法虽然可以实现,在整体代码看起太过低级,可用以下两种方式来替代:

例1:

<span v-if="YJLX=='1'">收件箱</span>
<span v-else-if="YJLX=='2'">发件箱</span>
<span v-else="YJLX=='3'">草稿箱</span>

方式1:

<span>{{["收件箱","发件箱","草稿箱"][Number(props.item.YJLX) - 1]}}</span>

方式2:

使用过滤器filter:

<span>{{ props.item.YJLX | judgeLX }}</span>

然后定义一个过滤器:

filters:{
   judgeLX:function(value){
      var returnValue="";
      switch(value){
         case 1:
            returnValue="收件箱";
            break;
         case 2:
            returnValue="发件箱";
            break;
         case 3:
            returnValue="草稿箱";
            break;
      }
      return returnValue;
   }
}

filter可全局定义:

Vue.filter('judgeLX', function (value) {

})

例2:

<input v-if="props.item.SFYD=='1'" type="checkbox" checked="checked">
<input v-else="props.item.SFYD=='0'" type="checkbox">

改写:

<input type="checkbox" :checked="props.item.SFYD=='1'">

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值