首页 > 其他分享 >vue(vue.js)—过滤器

vue(vue.js)—过滤器

时间:2024-10-18 20:09:47浏览次数:1  
标签:vue 格式化 script h3 value js 过滤器

原文链接:vue(vue.js)—过滤器 – 每天进步一点点 (longkui.site)

vue中的过滤器是对要显示的数据进行特定格式化后进行显示。比如最常用的保留两位小数,我们就可以用过滤器实现,它并没有改变原始数据的值,只是通过新的方式显示出来。功能类似于angular中的管道。

对于过滤器要知道两点

1.对要显示的数据进行特定格式化后再显示。

2.并没有改变原本的数据,只是用新的数据进行显示。

3.过滤器的本质就是一个函数

0.简单的用法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 <!DOCTYPE html> <html lang="en">   <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>vue测试</title>     <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>     <script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.4/moment.min.js"></script> </head>   <body>     <div id="root">         <h3>格式化前的时间{{time}}</h3>         <h3>格式化后的时间{{time | timeFormat }}</h3>              </div>     <script type="text/javascript">          new Vue({             el: '#root',             data:{                 time:new Date().getTime()  //获取时间戳             },                           //过滤器             filters:{                 timeFormat(value){                     //value值就是 ‘|’ 的值,return 会直接替换掉原来的值                     console.log(value)                     return  moment(value).format("YYYY-MM-DD")                 }             }                   })     </script> </body> </html>

效果如下:

上方所谓的过滤器就是 {{ time | timeFormat}} 这一部分,主要是“|” 这个符号解析的,vue读取的时候,先将“|” 符号前的time 作为传递到 timeFormat这个函数中,这个函数调用了momentjs对时间进行了格式化然后返回到页面中进行展示。

当然这个也支持自定义参数格式,也就是你的时间格式化的结果 不一定只有一种,可能有很多种。

2.组合用法

过滤器可以多个连在一起用,类似{{ time | timeFormat | str1 | str2 }} 这种,原则上可以无限套娃,但是实际开发中用的并不多,最多用过两层。

举例来说,上面的我们格式化时间后假如只想截取前几位,那么可以用字符串截取函数。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 <!DOCTYPE html> <html lang="en">   <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>vue测试</title>     <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>     <script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.4/moment.min.js"></script> </head>   <body>     <div id="root">         <h3>格式化前的时间{{time}}</h3>         <h3>格式化后的时间{{time | timeFormat }}</h3>           <h3>格式化前的字符串{{str}}</h3>         <h3>格式化后的字符串{{str | mystr | mySlice}}</h3>     </div>     <script type="text/javascript">          new Vue({             el: '#root',             data:{                 time:new Date().getTime(),  //获取时间戳                 str:"ni hao!"             },                           //过滤器             filters:{                 timeFormat(value){                     //value值就是 ‘|’ 的值,return 会直接替换掉原来的值                     console.log(value)                     return  moment(value).format("YYYY-MM-DD")                 },                 //字符串截取过滤器                 mySlice(value){                     console.log("mySlice",value)                     return value.slice(0,3)                 },                 //字符串拼接过滤器                 mystr(value){                     console.log("mystr",value)                     return value+"hello"                 }             }                   })     </script> </body>   </html>

效果图如下:

可以看出,字符按第一个过滤器执行的结果是 ni hao!hello

按照第二个过滤器执行的结果是hi

 

标签:vue,格式化,script,h3,value,js,过滤器
From: https://www.cnblogs.com/longkui-site/p/18474980

相关文章

  • 基于SpringBoot+Vue的学生宿舍管理系统的设计与实现(带文档)
    基于SpringBoot+Vue的学生宿舍管理系统的设计与实现(带文档)开发语言:Java数据库:MySQL技术:SpringBoot+MyBatis+Vue等工具:IDEA/Ecilpse、Navicat、Maven学生宿舍管理系统主要分为三个角色:管理员、宿管员和学生。每个角色都有其独特的功能模块,以满足不同用户的需求。管理......
  • 基于SpringBoot+Vue的蜗牛兼职网的设计与实现(带文档)
    基于SpringBoot+Vue的蜗牛兼职网的设计与实现(带文档)开发语言:Java数据库:MySQL技术:SpringBoot+MyBatis+Vue等工具:IDEA/Ecilpse、Navicat、Maven该系统主要分为三个角色:管理员、用户和企业,每个角色都有其独特的功能模块,以满足不同用户的需求。管理员角色的核心功能模块......
  • vue实战指南 vue中使用fetch读取本地txt文件
    vue实战指南vue中使用fetch读取本地txt文件基本概念与作用fetchAPI本地文件读取技术实现示例一:基本的fetch请求示例二:处理异步加载状态示例三:使用生命周期钩子示例四:读取多个文件示例五:使用Vuex管理文件内容实际工作中的一些技巧在Vue.js应用开发中,有时我们需要......
  • vue实战指南 vue刷新跳转当前页面
    vue实战指南vue刷新跳转当前页面基本概念与作用页面刷新页面跳转技术实现示例一:使用window.location.reload进行页面刷新示例二:使用VueRouter进行页面跳转示例三:使用编程导航实现页面跳转示例四:使用beforeEach导航守卫实现页面刷新示例五:结合Vuex管理刷新状态实际工......
  • 一个基于Vue3开源免费的可快速开发中后台的框架,方便易用,业务没有瓶颈期!(附地址)
    该应用是基于Css媒体查询进行开发,手机、平板、PC均自动适配,增强网站的响应式设计,提高网站的可用性,减少开发成本和维护工作,采用主流技术Vue3、Vite、TypeScript、Gulp、Pinia以及周边的优秀的插件搭建,不用担心自己业务所受框架有限的瓶颈,它方便易用,可通过npm命令安装主程序包,也......
  • 【React】React17+配置Babel实现无需导入React就可以使用jsx
    React17以后,无需引入React包,就可以使用jsx语法,官网说明。Babel版本首先Babel要使用V7.9.0以上如果使用的是@babel/plugin-transform-react-jsxnpmupdate@babel/core@babel/plugin-transform-react-jsx如果使用的是@babel/preset-reactnpmupdate@babel/cor......
  • SpringBoot+Vue+Uniapp私家车位共享小程序系统(源码+lw+部署文档+讲解等)
    项目运行截图技术框架后端采用SpringBoot框架SpringBoot是一个用于快速开发基于Spring框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。SpringBoot通过自动化配置和约定大于配置的......
  • Snowflake算法js(实现)
    Snowflake算法是一种分布式环境下的唯一ID生成算法,最初由Twitter开发并在其内部使用。该算法旨在生成全局唯一、递增的64位整数ID,同时具备高性能的特点。以下是Snowflake算法的一些关键特点及其工作原理:特点全局唯一性:生成的ID在分布式环境中几乎可以保证全局唯一。时间有序:生......
  • java+vue计算机毕设高校图书馆借阅管理系统app【源码+程序+论文+开题】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和移动互联网的普及,高校学生的学习和生活方式正经历着深刻的变革。图书馆作为知识传播和学术研究的重要场所,其管理与服务模式......
  • java+vue计算机毕设高校运动会管理系统【源码+程序+论文+开题】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着高校体育教育的不断发展,运动会作为增强学生体质、培养团队协作精神的重要活动,其组织与管理日益复杂。传统的人工管理方式存在效率低下、信息不透......