当前位置:首页 > VUE

vue filter 实现

2026-01-13 03:41:20VUE

Vue 过滤器实现方法

Vue 过滤器(Filters)用于文本格式化,可以在模板中直接使用。以下是实现 Vue 过滤器的几种方式。

全局过滤器

全局过滤器通过 Vue.filter() 方法注册,可以在任何组件中使用。

Vue.filter('capitalize', function(value) {
  if (!value) return ''
  value = value.toString()
  return value.charAt(0).toUpperCase() + value.slice(1)
})

在模板中使用:

<p>{{ message | capitalize }}</p>

局部过滤器

局部过滤器在组件选项中定义,仅在该组件内可用。

vue filter 实现

export default {
  filters: {
    uppercase(value) {
      if (!value) return ''
      return value.toString().toUpperCase()
    }
  }
}

在模板中使用:

<p>{{ text | uppercase }}</p>

链式调用

多个过滤器可以链式调用,按顺序处理数据。

vue filter 实现

<p>{{ message | capitalize | reverse }}</p>

对应的过滤器定义:

Vue.filter('reverse', function(value) {
  if (!value) return ''
  return value.toString().split('').reverse().join('')
})

过滤器参数

过滤器可以接收额外参数。

Vue.filter('truncate', function(value, length) {
  if (!value) return ''
  value = value.toString()
  return value.length > length ? value.substring(0, length) + '...' : value
})

在模板中使用:

<p>{{ longText | truncate(10) }}</p>

注意事项

  • Vue 3 已移除过滤器功能,推荐使用计算属性或方法替代。
  • 过滤器仅适用于插值表达式和 v-bind 表达式。
  • 确保过滤器函数是纯函数,避免副作用。

标签: vuefilter
分享给朋友:

相关文章

项目基于vue实现

项目基于vue实现

基于Vue实现项目的关键方法 搭建基础环境 安装Node.js和npm/yarn,确保开发环境具备运行Vue的能力。通过Vue CLI快速初始化项目结构,选择所需配置(如Babel、Router、Vu…

vue实现贴图

vue实现贴图

Vue 实现贴图功能 在Vue中实现贴图功能通常涉及将图片动态添加到指定位置或元素上。以下是几种常见实现方式: 使用v-bind动态绑定图片 通过数据驱动的方式动态更换图片源: <tem…

vue评分实现

vue评分实现

Vue 评分组件实现方法 使用第三方库(如 Element UI) 安装 Element UI: npm install element-ui 引入并注册组件: import Vue from…

vue 全景实现

vue 全景实现

Vue 全景实现方案 在Vue中实现全景效果,通常需要结合WebGL或第三方库来处理3D场景渲染。以下是几种常见方法: 使用Three.js库 Three.js是一个强大的WebGL库,适合创建3D…

vue实现分发

vue实现分发

Vue 实现分发的方法 在 Vue 中,分发(Distribution)通常指的是将内容从父组件传递到子组件,或者通过插槽(Slots)机制让父组件控制子组件的部分渲染内容。以下是几种常见的实现分发的…

vue实现ppt

vue实现ppt

Vue 实现 PPT 的功能 Vue 可以结合第三方库或自定义组件实现类似 PPT 的演示效果。以下是几种常见的方法: 使用第三方库 reveal.js reveal.js 是一个流行的演示框架,支…