VUE课程---20、过滤器
一、总结
一句话总结:
vue的过滤器有全局过滤器和私有过滤器,过滤器可以过滤一些敏感词汇,也能对时间格式进行过滤。
1、vue全局过滤器和私有过滤器?
全局过滤器是对所有vue实例都有效的过滤器,语法 Vue.filter(过滤器名称,回调函数)
私有过滤器只对当前vue实例有效,语法filters:{ 过滤器函数 }
<div id="app"> <!--过滤器可带参数--> <!--过滤器可串联--> <p>{{msg | msgFormat('-','*') | msgFormat1 | msgFormat2}}</p> </div> <script src="../js/vue.js"></script> <script> //全局过滤器 Vue.filter('msgFormat',function (msg,arg,arg2) { return msg.replace(/车/g,arg+arg2); }); Vue.filter('msgFormat1',function (msg) { return msg+'============'; }); let vm = new Vue({ el: '#app', data: { msg: '我怀疑你在开车,而且车速很快,但是我没有证据' }, filters:{//定义私有过滤器 msgFormat2:function (msg) { return msg+'++++'; } } }); </script>
2、过滤器使用语法?
{{ 要过滤的字符 | 过滤器 }}:{{msg | msgFormat('-','*') | msgFormat1 }}
3、过滤器使用注意?
1、过滤器可带参数,例如:{{msg | msgFormat('-','*') | msgFormat1 }}
2、过滤器可串联,例如:{{msg | msgFormat('-','*') | msgFormat1 }}
4、过滤器使用场景?
比如过滤一些敏感词汇,比如对日期格式串进行处理
二、过滤器
博客对应课程的视频位置:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>过滤器</title> 6 </head> 7 <body> 8 <!-- 9 10 11 过滤器使用语法 12 {{ 要过滤的字符 | 过滤器 }} 13 14 全局过滤器 15 Vue.filter(过滤器名称,回调函数); 16 17 私有过滤器 18 filters:{ 过滤器函数 } 19 20 过滤器使用注意 21 1、过滤器可带参数,例如:{{msg | msgFormat('-','*') | msgFormat1 }} 22 2、过滤器可串联,例如:{{msg | msgFormat('-','*') | msgFormat1 }} 23 24 25 过滤器使用场景 26 比如过滤一些敏感词汇,比如对日期格式串进行处理 27 28 --> 29 <div id="app"> 30 <!--过滤器可带参数--> 31 <!--过滤器可串联--> 32 <p>{{msg | msgFormat('-','*') | msgFormat1 | msgFormat2}}</p> 33 </div> 34 35 <div id="app2"> 36 <p>{{msg | msgFormat('-','*') | msgFormat1 }}</p> 37 </div> 38 <script src="../js/vue.js"></script> 39 <script> 40 //全局过滤器 41 Vue.filter('msgFormat',function (msg,arg,arg2) { 42 return msg.replace(/车/g,arg+arg2); 43 }); 44 45 Vue.filter('msgFormat1',function (msg) { 46 return msg+'============'; 47 }); 48 49 let vm = new Vue({ 50 el: '#app', 51 data: { 52 msg: '我怀疑你在开车,而且车速很快,但是我没有证据' 53 }, 54 filters:{//定义私有过滤器 55 msgFormat2:function (msg) { 56 return msg+'++++'; 57 } 58 } 59 }); 60 61 let vm2 = new Vue({ 62 el: '#app2', 63 data: { 64 msg: '我怀疑你在开车,而且车速很快,但是我没有证据' 65 } 66 }); 67 68 69 </script> 70 </body> 71 </html>