当前位置:首页 > 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 属性,仅在该组件内可用:

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

模板调用:

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

链式调用

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

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

vue filter 实现

标签: vuefilter
分享给朋友:

相关文章

vue 实现长列表

vue 实现长列表

Vue 实现长列表的优化方案 虚拟滚动技术 虚拟滚动是处理长列表的高效方式,仅渲染可视区域内的元素。通过计算滚动位置动态加载和卸载DOM节点,大幅减少内存占用和渲染压力。 <template…

vue实现皮肤切换

vue实现皮肤切换

实现皮肤切换的基本思路 在Vue中实现皮肤切换功能,通常涉及动态修改CSS变量或类名。核心是通过状态管理当前主题,并在组件中应用对应的样式。 使用CSS变量实现主题切换 CSS变量(自定义属性)是…

vue前端实现注册

vue前端实现注册

使用 Vue 实现用户注册功能 环境准备 确保已安装 Vue CLI 或通过 CDN 引入 Vue。若使用 Vue CLI,需安装 axios 或其他 HTTP 库用于后端通信。 注册表单组件 创…

vue前端实现搜索

vue前端实现搜索

实现搜索功能的基本方法 在Vue中实现搜索功能通常涉及以下几个关键步骤,结合数据绑定、计算属性和方法调用来动态过滤和显示结果。 数据绑定与输入处理 使用v-model双向绑定搜索输入框的值,监听用户…

vue怎么实现页面返回

vue怎么实现页面返回

Vue 实现页面返回的方法 在 Vue 中实现页面返回功能,可以通过以下几种方式完成,具体取决于项目使用的路由模式和技术栈。 使用 Vue Router 的编程式导航 通过 this.$router…

vue怎么实现选中删除

vue怎么实现选中删除

实现选中删除功能的方法 在Vue中实现选中删除功能通常涉及以下几个关键步骤: 数据绑定与选中状态管理 使用v-model或v-for指令绑定列表数据,结合复选框或单选按钮实现选中状态管理。例如:…