当前位置:首页 > VUE

vue filter 实现

2026-03-07 10:53:08VUE

在 Vue.js 中,过滤器(Filter)是一种用于文本格式化的功能,可以在模板中通过管道符 | 调用。尽管 Vue 3 已移除内置过滤器支持,但在 Vue 2 中仍可自定义过滤器。以下是实现方法:

全局过滤器

通过 Vue.filter 注册全局过滤器,所有组件均可使用:

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

模板中使用:

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

局部过滤器

在组件选项中定义 filters 属性:

export default {
  filters: {
    truncate(value, length) {
      return value.length > length 
        ? value.slice(0, length) + '...' 
        : value
    }
  }
}

模板中使用:

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

链式调用

多个过滤器可串联使用:

<p>{{ text | filterA | filterB }}</p>

注意事项

  • 过滤器默认第一个参数为管道前的值,后续参数为调用时传入的参数
  • 过滤器应设计为纯函数,避免副作用
  • 复杂逻辑建议使用计算属性替代

Vue 3 推荐使用组合式 API 的 computed 或方法调用替代过滤器功能。例如:

vue filter 实现

import { computed } from 'vue'

export default {
  setup() {
    const formattedText = computed(() => {
      return text.value.toUpperCase()
    })
    return { formattedText }
  }
}

标签: vuefilter
分享给朋友:

相关文章

vue实现添加用户

vue实现添加用户

Vue 实现添加用户功能 数据绑定与表单设计 在 Vue 中实现添加用户功能,首先需要设计一个表单,用于收集用户输入的数据。通过 v-model 实现双向数据绑定,确保表单数据与 Vue 实例中的数据…

vue实现级联

vue实现级联

Vue 实现级联选择器的方法 级联选择器(Cascader)是常见的表单组件,用于处理多层级联动数据选择(如省市区选择)。以下是几种实现方式: 基于 Element UI 的 el-cascader…

vue实现删除

vue实现删除

Vue 实现删除功能的方法 在 Vue 中实现删除功能通常涉及以下几个步骤: 数据绑定与列表渲染 使用 v-for 指令渲染列表数据,并为每个项绑定唯一标识符(如 id)。例如: <…

vue实现图片

vue实现图片

Vue 实现图片功能的方法 静态图片引入 在 Vue 项目中,可以通过 src 属性直接引入静态图片。图片通常放在 public 或 assets 目录下。 <template> &…

vue实现心电图

vue实现心电图

Vue 实现心电图效果 在 Vue 中实现心电图效果通常需要结合 Canvas 或 SVG 进行动态绘图,模拟心电图数据的实时变化。以下是两种实现方式的核心思路和代码示例: 使用 Canvas 绘制…

vue实现画廊

vue实现画廊

Vue实现画廊的基本方法 使用Vue.js实现画廊功能可以通过多种方式完成,以下是一种常见的实现方案: 安装必要依赖 npm install vue-gallery --save 引入组件并注册…