当前位置:首页 > VUE

vue filter 实现

2026-01-07 23:57:33VUE

在 Vue.js 中,过滤器(Filter)是一种用于文本格式化的功能,可以在模板中直接使用。以下是实现过滤器的详细方法:

全局过滤器注册

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

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

模板中使用方式:

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

局部过滤器注册

在组件选项中定义 filters 属性,仅在该组件内可用:

vue filter 实现

new Vue({
  filters: {
    currency(value) {
      return '$' + value.toFixed(2)
    }
  }
})

模板调用:

<p>{{ price | currency }}</p>

链式调用

多个过滤器可以串联使用:

vue filter 实现

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

过滤器参数

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

Vue.filter('truncate', function(value, length) {
  return value.slice(0, length) + '...'
})

模板调用:

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

注意事项

  • Vue 3 已移除过滤器功能,推荐使用计算属性或方法替代
  • 过滤器应设计为纯函数,避免产生副作用
  • 复杂逻辑建议使用计算属性实现

对于 Vue 3 项目,替代方案如下:

// 使用计算属性
computed: {
  formattedText() {
    return this.text.toUpperCase()
  }
}
// 或使用方法
methods: {
  formatText(text) {
    return text.toUpperCase()
  }
}

标签: vuefilter
分享给朋友:

相关文章

vue实现安全免登录

vue实现安全免登录

Vue 实现安全免登录的方案 免登录功能通常通过持久化认证状态(如 Token)实现,但需兼顾安全性。以下是基于 Vue 的常见实现方案: 基于 Token 的免登录 登录成功后存储 Token…

vue实现mvc

vue实现mvc

Vue 实现 MVC 模式 Vue 本身是一个 MVVM(Model-View-ViewModel)框架,但可以通过结构调整实现 MVC(Model-View-Controller)模式。以下是具体实…

实现 vue ssr

实现 vue ssr

Vue SSR 实现方法 Vue SSR(Server-Side Rendering)通过服务器端渲染 Vue 应用,提升首屏加载速度和 SEO 友好性。以下是核心实现方法: 基础配置 安装必要依赖…

vue实现爬虫

vue实现爬虫

Vue 实现爬虫的基本思路 Vue.js 本身是一个前端框架,主要用于构建用户界面。要实现爬虫功能,通常需要结合后端技术或浏览器自动化工具。以下是几种常见的方法: 方法一:Vue + Node.js…

vue实现反馈

vue实现反馈

Vue 实现反馈功能的方法 在 Vue 中实现反馈功能可以通过多种方式,包括弹窗提示、Toast 消息、表单提交等。以下是几种常见的实现方法。 弹窗反馈 使用 Vue 的组件化特性创建一个弹窗组件,…

vue 实现循环

vue 实现循环

Vue 实现循环的方法 在 Vue 中,可以使用 v-for 指令来实现循环渲染列表数据。以下是几种常见的循环实现方式: 基本数组循环 <template> <ul>…