位置: IT常识 - 正文

Vue3 之 过滤器(vue中过滤器有什么作用及详解)

编辑:rootadmin
Vue3 之 过滤器 1、过滤器简介1.1、全局过滤器与局部过滤器

推荐整理分享Vue3 之 过滤器(vue中过滤器有什么作用及详解),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue3.0过滤器,vue3.0过滤器,vue过滤器的使用场景,vue过滤器的使用场景,前端vue过滤器,vue3.0过滤器,vue中过滤器,vue3.0过滤器,内容如对您有帮助,希望把文章链接给更多的朋友!

过滤器本质上是一个函数,与自定义指令类似。

        全局过滤器

Vue.filter(id, [definition])

     局部过滤器

new Vue({ el: '#app', filters: { definition(value): { ... } } })

案例:将字符串首字母转换为大写字母的全局过滤器

Vue.filter('capitalize', function (value) { if (!value) return ''; value = value.toString(); return value.charAt(0).toUpperCase() + value.slice(1); })Vue3 之 过滤器(vue中过滤器有什么作用及详解)

 如果换成局部过滤器

let vm = new Vue({ el: '#app', data: { // 参数定义,字典形式 }, computed: { // 计算属性,多次调用,只计算一次 }, methods: { // 普通方法,多次调用,多次计算 }, filters: { // 过滤器 capitalize(value) { if (!value) return ''; value = value.toString(); return value.charAt(0).toUpperCase() + value.slice(1); } }})

注意:

当全局过滤器和局部过滤器重名,会采用局部过滤器与自定义命令一样,全局过滤器可以在任何 Vue 实例的模板中使用,而局部过滤器只能在该实例绑定的视图中使用

过滤器可以使用在两个地方:

    双花括号:{{ 变量 | 过滤器 }}     v-bind 表达式:v-bind:href=“变量 | 过滤器”

2、过滤器的参数

过滤器函数总是接收表达式的值作为第一个参数,过滤器本质上是一个 JS 函数,自然可以接收多个参数。

    不建议把过滤器功能做的很复杂,这违背了过滤器的设计初衷,比如:Vue.filter(‘format’, function (value, …params) {…})

实例:为表达式的值添加前后缀的过滤器  

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><div id="app"> <h2>过滤器</h2> <!-- 输出:vue-filters.js --> <p>{{ filename | format('vue', suffix) }}</p></div><script src="VueJs/vue.js"></script><script> Vue.filter('format', function (value, prefix, suffix) { if (!value) return ''; value = value.toString(); return prefix + "-" + value + "." + suffix; }) let vm = new Vue({ el: '#app', data: { filename: 'filters', suffix: 'js' }, computed: { // 计算属性,多次调用,只计算一次 }, methods: { // 普通方法,多次调用,多次计算 }, filters: { // 过滤器 } })</script></body></html>

 3、过滤器的串联

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> .profile {} </style></head><body><div id="app"> <h2>过滤器</h2> <!-- 输出结果:DLROW OLLEH --> <p>{{ message | uppercase | reverse }}</p></div><script src="VueJs/vue.js"></script><script> Vue.filter('uppercase', function (value) { if (!value) return ''; value = value.toString(); return value.toUpperCase(); }) Vue.filter('reverse', function (value) { if (!value) return ''; value = value.toString(); return value.split('').reverse().join(''); }) let vm = new Vue({ el: '#app', data: { message: 'hello world' }, computed: { // 计算属性,多次调用,只计算一次 }, methods: { // 普通方法,多次调用,多次计算 }, filters: { // 局部过滤器 } })</script></body></html>
本文链接地址:https://www.jiuchutong.com/zhishi/295286.html 转载请保留说明!

上一篇:新一代状态管理工具 -- Pinia 上手指南

下一篇:覆盖了Hallerbos森林地面的蓝铃花,比利时佛兰德 (© Jason Langley/plainpicture)(覆盖的盖)

  • 小米体重秤2怎么安装电池(小米体重秤2怎么校准)

  • 抖音怎么连续播放视频(抖音怎么连续播放别人艾特的视频)

  • 华为荣耀9x手机什么时候出的(华为荣耀9x手机如何设置把时间放在桌面)

  • 一加7t对比oppoace(一加7t对比一加7pro参数)

  • ipad闲置太久充不了电(ipad闲置太久充不了电苹果logo闪现)

  • 计算机用来表示存储空间大小的基本单位(计算机用来表示内存储器容量的基本单位是)

  • vulkanrt是什么软件呀(vulkan是什么下载)

  • 抖音怎么发超过一分钟的视频(抖音怎么发超过15秒的视频)

  • 微信注销别人显示什么(微信注销后别人那边显示什么)

  • 抖音关注了怎么不显示(抖音关注了怎么又变成没关注了)

  • 苹果耳机可以转typec吗(苹果耳机可以转运到韩国吗)

  • 路由器pon是什么意思(路由器pon是什么灯)

  • 微信不删除不拉黑怎么拒收对方信息(微信不删除不拉黑怎么拒收信息)

  • ipad能用鼠标吗(华为平板能用鼠标吗)

  • 天猫商家被投诉后依然没有发货怎么办(天猫商家被投诉未按约定时间发货怎么办)

  • 魅族16T可以遥控空调吗(魅族16t可以遥控空调吗)

  • vivox9电池怎么更换(vivox9电池怎么换)

  • 抖音评论区怎么发图片(抖音评论区怎么保存图片)

  • 国产统一操作系统UOS真的能代替window系统吗? UOS上手体验(国产操作系统两项全球第一)

  • 帝国CMS商城系统实现在线支付后发送订单邮件提醒功能(帝国cms商城教程)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络