vue2.0已经废弃了过滤器,需要自定义过滤器,用于一些常见的文本格式化。
感觉超级好用!!
过滤器可以用在两个地方:双花括号插值 和 v-bind表达式。
过滤器应该被添加在JavaScript表达式的尾部,由管道符指示。
一、注册全局过滤器
注意事项:
1、全局方法Vue.filter()注册一个自定义过滤器,必须放在vue实例化前面
2、过滤器函数始终以表达式的值作为第一个参数,带引号的参数视为字符串,而不带引号的参数按表达式计算
3、可以设置两个过滤器参数,前提这两个过滤器处理的不冲突
4、用户从input输入的数据在会传到model之前也可以先处理
案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>过滤器</title> </head> <body> <div id="app"> <!-- 首字符串大写 --> <div>首字母大写过滤器:{{str | upcase}}</div> <!-- 给过滤器传入参数 --> <p>求和过滤器:{{message | sum(10,20)}}</p> </div> <script type="text/javascript" src='https://i0.jrjimg.cn/zqt-red-1000/focus/focus2017YMZ/teamFrighting/js/vue.min.js'></script> <script type="text/javascript"> //全局方法 Vue.filter()注册一个自定义过滤器,必须放在Vue实例化前面 // 注册一个首字母大写的过滤器 Vue.filter("upcase", function(value) { if (!value) return '' value = value.toString() return value.charAt(0).toUpperCase() + value.slice(1) }); // 全局注册一个求和过滤器 Vue.filter('sum', function (value, a, b) { return value + a + b; }); var demo = new Vue({ el: "#app", data: { str:'hello', message:12 } }); </script> </body> </html>
案例效果:
二、注册在实例化内部
过滤器也可以注册在实例内部,仅在使用它的实例里面注册。
根据以上案例改编:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="app"> <!-- 首字符串大写 --> <div>首字母大写过滤器:{{str | upcase}}</div> <!-- 给过滤器传入参数 --> <p>求和过滤器:{{message | sum(10,20)}}</p> </div> <script type="text/javascript" src='https://i0.jrjimg.cn/zqt-red-1000/focus/focus2017YMZ/teamFrighting/js/vue.min.js'></script> <script type="text/javascript"> var demo = new Vue({ el: "#app", data: { str:'hello', message:12 }, filters: { upcase:function(value){ if (!value) return '' value = value.toString() return value.charAt(0).toUpperCase() + value.slice(1) }, sum:function(value, a, b){ return value + a + b; } } }); </script> </body> </html>
效果:
三、常见过滤器
根据时间戳转化成时间格式:mm-dd hh:tt
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="app"> <!-- 将时间戳转化为时间 --> <h1>根据时间戳转化为时间:{{ str | formateTime}}</h1> </div> <script type="text/javascript" src='https://i0.jrjimg.cn/zqt-red-1000/focus/focus2017YMZ/teamFrighting/js/vue.min.js'></script> <script type="text/javascript"> var demo = new Vue({ el: "#app", data: { str:1517568434324, }, filters: { formateTime:function(nS){ return ((new Date(nS).getMonth()+1)<10"text-align: center">以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“Vue2.0系列之过滤器的使用”评论...
更新动态
2024年11月13日
2024年11月13日
- 刘欢《雨中的树(新歌加精选)2CD》德国HD24K金碟[WAV+CUE]
- 郑源 《世间情歌》6N纯银SQCD[WAV+CUE][1G]
- 群星《粤潮2HQII》头版限量编号[低速原抓WAV+CUE][991M]
- 群星《2023好听新歌21》十倍音质 U盘音乐[WAV分轨][1G]
- 《热血传奇》双11感恩回馈 超值狂欢30天
- 原神5.2版本活动汇总 5.2版本活动有哪些
- 张敬轩.2010-NO.ELEVEN【环球】【WAV+CUE】
- 黄丽玲.2006-失恋无罪【艾回】【WAV+CUE】
- 阿达娃.2024-Laluna【W8VES】【FLAC分轨】
- 宝可梦大集结段位等级划分表大全 大集结段位一览
- 龙腾世纪影障守护者工坊与装备如何升级 工坊与装备升级说明
- 龙腾世纪影障守护者全成就攻略分享 龙腾世纪4全成就列表一览
- 《剑星》更新四套全新战衣!
- 卡普空老将伊津野英昭宣布入职腾讯光子 开发3A动作
- 38岁梅根·福克斯官宣怀孕:将迎来第四个孩子