vue入门学习之过滤器的使用

说明:

记录vue中如何使用过滤器,局部配置和全局配置及注意事项

 039_尚硅谷Vue技术_过滤器_哔哩哔哩_bilibili

<div>
  ###使用插值语法实现时间戳显示
   <h1>{{time}}<h1>
</div>



const vm = new Vue({
   data:{
      time:'1665733169207'
   }  
})

案例:时间戳1665733169207字符串的格式化

日期格式化工具第三方库BootCDN - Bootstrap 中文网开源项目免费 CDN 加速服务 

moment.js 和 精简版dayjs

方法一:使用插值语法+函数 实现时间戳的格式化

<div>
  ###使用函数语法实现时间戳的格式化
   <h1>{{fmttime()}}<h1>
</div>



const vm = new Vue({
   data:{
      time:'1665733169207'
   },
 methods:{
      fmttime(){
        return dayjs(this.time).format('YYYY-MM-DD hh:mm:ss')
   }
  } 
})

方法二:使用插值语法+计算属性 实现时间戳的格式化

<div>
  ###使用计算属性语法实现时间戳的格式化
   <h1>{{fmttime}}<h1>
</div>


const vm = new Vue({
   data:{
      time:'1665733169207'
   },
computed:{
    fmttime(){
         return dayjs().formater('YYYY-MM-DD hh:mm:ss');
       }
    }
  } 
})

方法三:使用插值语法+过滤器 实现时间戳的格式化

 局部过滤器不传参数

默认管道符前面的参数就是过滤器的第一个入参

<div>
  ###使用插值语法加管道符语法实现过滤器时间戳的格式化
   <h1>{{time | timeformater}}<h1>
</div>


const vm = new Vue({
   data:{
      time:'1665733169207'
   },
  filters:{
      timeformater(value){
        return dayjs(value).formater('YYYY-MM-DD hh:mm:ss');
      }
    }
  } 
})

 局部过滤器传参数

<div>
  ###使用插值语法加管道符语法实现过滤器时间戳的格式化
   <h1>{{time | timeformater('YYYY-MM-DD')}| scliceTime()}<h1>
</div>


const vm = new Vue({
   data:{
      time:'1665733169207'
   },
  filters:{
      timeformater(value,str='YYYY-MM-DD hh:mm:ss'){
        return dayjs(value).formater(str);
      },
     scliceTime(val){
       return val.slice(0,4)
      }
    }
  } 
})

注意:

1)这里为了通用性(参数可传,可不传情况正常格式化)在过滤器第二个参数添加默认格式化

当传自定义格式化时,使用自定义的,当不传参数时使用默认的

2)过滤器可以添加多个,按照先后顺序过滤,前面过滤的结果,作为后面过滤器入参,最终结果替换插值语法中的内容

全局过滤器

Vue.filter('注册过滤器名称',function(value){逻辑处理过程})

<div>
  ###使用插值语法加管道符语法实现过滤器时间戳的格式化
   <h1>{{time | timeformater('YYYY-MM-DD')}| scliceTime}<h1>
</div>



Vue.filter('scliceTime',function(value){
       return val.slice(0,4)
})
const vm = new Vue({
   data:{
      time:'1665733169207'
   },
  filters:{
      timeformater(value,str='YYYY-MM-DD hh:mm:ss'){
        return dayjs(value).formater(str);
      }
   
    }
  } 
})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值