day68 - 过滤器
对需要显示的数据进行特定的格式化后再显示,适用于简单的逻辑处理
可以使用计算属性或methods实现过滤器
本例子使用当前的时间戳,分别使用三种方法在页面上显示当前时间戳
并转化成规定格式时间
<body> <!-- 过滤器: 对需要显示的数据进行特定的格式化后再显示,适用于简单的逻辑处理 语法: 1.注册过滤器 Vue.filter(name,callback) 或者 new Vue(filters:{}) 2.使用过滤器 {{xxx | 过滤器名字}} 或者 v-bind:属性 = “xxx | 过滤器名字” 备注: 1. 过滤器也可以接受额外的参数,多个过滤器可以串联 2. 并没有改变原本的数据,是产生新的对应的数据 --> <div id="root"> <h2>显示格式化后的时间</h2> <!-- 计算属性实现--> <h3>现在是:{{fmtime}}</h3> <!-- methods实现--> <h3>现在是:{{getgmtime()}}</h3> <!-- 过滤器实现--> <h3>现在是:{{time | timeformater}}</h3> <!-- 过滤器的传参--> <h3>现在是:{{time | timeformater('YYYY-MM-DD')}}</h3> <!-- 过滤器的串联--> <h3>现在是:{{time | timeformater('YYYY-MM-DD') | myslice}}</h3> </div> </body> <script> Vue.config.productionTip = false //全局过滤器 Vue.filter('myslice',function (val) { return val.slice(0,4) }) new Vue({ el:'#root', data:{ time:1675432255528 }, computed:{ fmtime(){ return dayjs(this.time).format('YYYY年MM月DD日 HH:mm:ss') } }, methods:{ getgmtime(){ return dayjs(this.time).format('YYYY年MM月DD日 HH:mm:ss') } }, //局部过滤器 filters:{ timeformater(val,str="YYYY年MM月DD日 HH:mm:ss"){ return dayjs(val).format(str) }, myslice(val){ return val.slice(0,4) } } }) </script>
总结
<!-- 过滤器: 对需要显示的数据进行特定的格式化后再显示,适用于简单的逻辑处理 语法: 1.注册过滤器 Vue.filter(name,callback) 或者 new Vue(filters:{}) 2.使用过滤器 {{xxx | 过滤器名字}} 或者 v-bind:属性 = “xxx | 过滤器名字” 备注: 1. 过滤器也可以接受额外的参数,多个过滤器可以串联 2. 并没有改变原本的数据,是产生新的对应的数据 -->
可以在创建vue时设置局部过滤器:
filters:{ timeformater(val,str="YYYY年MM月DD日 HH:mm:ss"){ return dayjs(val).format(str) }, myslice(val){ return val.slice(0,4) } }
当有多个实例对象时,可能需要同时调用一个过滤器
此时可以创建一个全局过滤器
//全局过滤器 Vue.filter('myslice',function (val) { return val.slice(0,4) })
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗