当前位置: 首页 > news >正文

Vue过滤器

Vue过滤器

  • 1. 概述
  • 2. 全局过滤器与局部过滤器
    • 2.1 过滤器参数
    • 2.2 过滤器的串联

1. 概述

在Vue.js中,过滤器主要用于文本的格式化,或者组件数据的过滤与排序等。从Vue2.0.0版本开始,内置的过滤器已经被删除,需要自己编写。

2. 全局过滤器与局部过滤器

过滤器的本质上是一个函数,与自定义指令相似,过滤器也分为全局过滤器和局部过滤器。全局过滤器使用Vue.filter()方法来注册,该方法接受两个参数,第一参数是过滤器的ID(即名字),第二个参数是一个函数对象,过滤器要实现的功能在这个函数中定义。语法形式如下:
Vue.filter(id, [definition])
局部过滤器是在Vue实例的选项对象中使用filters选项来注册。
下面编写一个将字符串首字符转换为大写字母的全局过滤器。
在这里插入图片描述
如果换成局部过滤器,编写形式如下:
在这里插入图片描述
要注意的是:

  1. 当全局过滤器和局部过滤器重名时,会采用局部过滤器。
  2. 与自定义指令一样,全局过滤器可以在任何Vue实例的模板中使用,而局部过滤器只能在该实例绑定的视图中使用。
    过滤器可以用在两个地方:双花括号插值和v-bind表达式使用时通过管道符|添加到表达式的尾部使用。
    在这里插入图片描述
    不要去尝试在其他指令的表达式中使用,没有结果还会报错。

2.1 过滤器参数

过滤器函数总是接受表达式的值作为第一个参数,如{{message|capitalize}},message的值将作为capitalize过滤器函数的第一个参数。过滤器的本质上是一个JavaScript函数,自然也可以接受多个参数。
下面编写一个为表达式的值添加前后缀的过滤器。
在这里插入图片描述
filename的值作为format过滤器的第一个参数,普通字符串’vue’作为format过滤器的第二个参数,表达式suffix的值作为format过滤器的第三个参数,最终的输出结果为vue-filters.js
如果过滤器函数需要接受任意多个参数,可以使用ECMAScript6中引入的rest参数
在这里插入图片描述
当然,不建议把过滤器的功能做的很复杂,这违背了过滤器的初衷,毕竟在Vue.js中还有方法、计算属性、监听器等各种特性。

2.2 过滤器的串联

在这里插入图片描述
在这里插入图片描述

相关文章:

  • linux系统中利用QT实现串口通信的方法
  • ESP32蓝牙+EC11旋转编码器实现对电脑音量控制
  • 57 mac 中 SIGINFO 信号, jdk8 支持, 但是 jdk9 不支持?
  • 【Linux】在Linux上写一个进度条小程序
  • 【寒假每日一题】DAY.6 有序序列的合并
  • 2022年度总结,迎接2023
  • (二十)正则表达式
  • 多节点Linux环境打造
  • Spring Boot配置文件数据也可以轻松加密?
  • 第十三届蓝桥杯C++B组省赛 J 题——砍竹子(AC)
  • 拓扑排序 (算法思想+图解+模板+练习题)
  • SAP FICO常用报表和事务码大全
  • 2. PyTorch简介:使用PyTorch训练第一个神经网络
  • LeetCode 295. 数据流的中位数(C++)*
  • MySQL表的增删查改
  • 完全二叉树与堆(包含STL堆的用法)
  • 用HTML写一个2023跨年动画代码(烟花+自定义文字+背景音乐+雪花+倒计时)
  • Electron打包图标不显示解决方案
  • Synchronized锁原理及 ConcurrentHashMap
  • OpenCV学习
  • 体坛联播|巴萨“三杀”皇马夺国王杯,陈妤颉破亚洲少年纪录
  • 乌克兰否认俄收复库尔斯克州,称战斗仍在持续
  • 从“高阶智驾”到“辅助驾驶”,上海车展上的“智驾”宣发变调
  • 观察|上海算力生态蓬勃发展,如何助力千行百业数智化转型升级
  • 合同约定拿850万保底利润?重庆市一中院:约定无效,发回重审
  • 30天内三访中国,宝马董事长:没有一家公司可以在全球价值链外独立运行