千家信息网

VUE中的filters过滤器如何使用

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要讲解了"VUE中的filters过滤器如何使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"VUE中的filters过滤器如何使用"吧!前
千家信息网最后更新 2026年10月31日VUE中的filters过滤器如何使用

这篇文章主要讲解了"VUE中的filters过滤器如何使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"VUE中的filters过滤器如何使用"吧!

前言

Vue.js 允许我们自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双花括号({undefined{ }})插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)。过滤器应该被添加在 JavaScript 表达式的尾部,由"管道"符号指示。

{{ message | capitalize }}

一、全局过滤器

定义一个全局过滤器很简单,只需要导出一个方法即可。

使用的时候很简单,只需要在入口文件全局引入此过滤器即可,使用 Vue.filter(key, value) 引入。

比如,Java后端返回的时间戳精确到秒,而JS中的时间戳是用毫秒表示,则可以定义一个转换时间戳的全局过滤器:

//main.jsimport Vue from 'vue'Vue.filter('millisecond', (value) => {  if (!value) return ''  value = value.toString()  return value.charAt(0).toUpperCase() + value.slice(1)})

在需要使用的组件使用:

{{1516101106 | millisecond}}

1、全局过滤器之单一挂载

/** * dateTmp:要过滤的值 * fmtTmp:传入的参数,可接收多个参数 */ Vue.filter('dateFormat', function (dateTmp, fmtTmp) {  let fmt = fmtTmp  let date = dateTmp   if (!fmt) {    fmt = 'yyyy.MM.dd'  }  if (!(date instanceof Date)) {    date = new Date(date)  }  let o = {    'M+': date.getMonth() + 1, // 月份    'd+': date.getDate(), // 日    'h+': date.getHours() % 12 == 0 ? 12 : date.getHours() % 12, // 小时    'H+': date.getHours(), // 小时    'm+': date.getMinutes(), // 分    's+': date.getSeconds(), // 秒    'q+': Math.floor((date.getMonth() + 3) / 3), // 季度    'S': date.getMilliseconds() // 毫秒  }  let week = {    '0': '日',    '1': '一',    '2': '二',    '3': '三',    '4': '四',    '5': '五',    '6': '六'  }   if (/(y+)/.test(fmt)) {    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))  }  if (/(E+)/.test(fmt)) {    fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? '星期' : '周') : '') + week[date.getDay() + ''])  }  for (var k in o) {    if (new RegExp('(' + k + ')').test(fmt)) {      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))    }  }  return fmt});

2、全局过滤器之批量挂载

//定义方法//filters.jsexport function slice (temp,num) {    return temp.slice(0,num);}
//挂载//main.jsimport * as filters from '@/assets/js/filters'; Object.keys(filters).forEach(key => {    Vue.filter(key, filters[key]);});
//调用
{{ '123456' | slice(4) }}

二、组件过滤器

组件过滤器更简单,只需在对应组件中定义 filters 即可,不过只针对本组件有效。

比如定义一个首字母大写的过滤器:

//定义方法export default {  filters: {    capitalize: function (value) {      if (!value) return ''      value = value.toString()      return value.charAt(0).toUpperCase() + value.slice(1)    }  }}

例子:

 

感谢各位的阅读,以上就是"VUE中的filters过滤器如何使用"的内容了,经过本文的学习后,相信大家对VUE中的filters过滤器如何使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

过滤器 全局 组件 方法 时间 学习 内容 参数 小时 表达式 有效 精确 两个 例子 入口 前言 只需 地方 多个 大写 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网络科技 互联网是第几次科技革命的成果 互联网科技公司经营范围 互联网中国科技 合肥互联网科技公司 奇酷互联网科技 奇酷互联网络科技公司 互联网科技英文翻译 互联网科技公司的市场部门 富国互联网科技创新基金 剑昆互联网络科技有限公司临桂 全球顶尖互联网科技公司 宁夏科技产业互联网案例 昭通互联网科技选哪家 互联网科技研发水平 世界互联网领先科技成果获奖 扫呗互联网科技有限公司 互联网科技手机排行榜 中国科技和美国互联网 互联网科技企业文化 宜安科技 互联网金融 玖二柒互联网科技公司待遇 中国的互联网科技企业的崛起 汽车互联网创新科技园 彤创互联网科技有限公司 互联网科技革命什么开始 宜昌元轩互联网科技有限公司 银川新华互联网科技学校是国营吗 米泉互联网科技专业怎么样 北京军民互联网科技公司
0