当前位置:首页 > 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>

局部过滤器

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

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

在模板中使用:

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

链式调用

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

<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
})

在模板中使用:

vue filter 实现

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

注意事项

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

标签: vuefilter
分享给朋友:

相关文章

vue实现简单的弹窗

vue实现简单的弹窗

使用 Vue 实现简单弹窗 组件基础结构 创建一个名为 Modal.vue 的组件文件,包含模板、脚本和样式部分: <template> <div class="mod…

vue 实现简单登陆

vue 实现简单登陆

以下是一个使用 Vue 3 实现的简单登录功能示例,包含表单验证和基础交互逻辑: 创建 Vue 组件 <template> <div class="login-contai…

vue实现导航栏切图

vue实现导航栏切图

Vue 实现导航栏切图 使用 Vue Router 实现基础导航 在 Vue 项目中,可以通过 Vue Router 实现导航栏的路由切换。创建一个导航栏组件,并在其中使用 <router-li…

vue实现markdown

vue实现markdown

Vue 实现 Markdown 编辑器 在 Vue 中实现 Markdown 编辑器可以通过集成第三方库或自定义解析器完成。以下是两种常见方法: 使用第三方库(如 marked 或 markdown…

vue实现登出

vue实现登出

实现Vue登出功能 登出功能通常涉及清除用户会话、令牌或本地存储的数据,并重定向到登录页面。以下是几种常见的实现方式: 清除用户令牌和状态 在Vuex的store中定义一个logout mutati…

vue实现cs

vue实现cs

Vue 实现 CS(Client-Side)渲染的常见方法 Vue.js 是一个用于构建用户界面的渐进式框架,默认采用客户端渲染(CSR)。以下是几种常见的实现方式: 使用 Vue CLI 创建项目…