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>


 

VUE课程---20、过滤器_VUE课程