Vue.js 的过滤器你了解多少
作者:泽哥ins 发布时间:2024-04-28 09:26:37
标签:Vue.js,过滤器
一、过滤器作用
过滤器用于进行文本内容格式化处理。
二、过滤器的使用方式
过滤器可以在插值表达式和 v-bind 中使用。
三、过滤器的分类
全局过滤器
局部过滤器
四、全局过滤器
全局过滤器可以在任意Vue实例中使用。
语法书写方式如下:
Vue.filter('过滤器名称',function(value) {
//逻辑代码
return '处理结果';
})
注意:示例中的 | 竖线表示管道符。
<!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>15.全局过滤器</title>
</head>
<body>
<div id="app">
<p v-bind:title="value | filterA">这是标签</p>
<p>{{ value | filterA }}</p>
</div>
<div id="app2">
<p v-bind:title="value | filterA">这是标签</p>
<p>{{ value | filter}}</p>
</div>
<script src="../01.vue.js入门/js/vue-2.6.14.js"></script>
<script>
Vue.filter('filterA',function (value) {
return value.split('-').join('');
})
new Vue({
el: '#app',
data: {
value: 'a-b-c'
}
})
new Vue({
el: '#app2',
data: {
value: 'a-b-c'
}
})
</script>
</body>
</html>
• 全局过滤器可以将一个数据传入到多个过滤器中进行处理。
<body>
<div id="app">
<p>{{ value | filterA | filterB }}</p>
</div>
<script src="../01.vue.js入门/js/vue-2.6.14.js"></script>
<script>
Vue.filter('filterA',function (value){
console.log(value + ' filterA');
return value.split('-').join('');
})
Vue.filter('filterB',function (value) {
console.log(value + ' filterB');
return value[0].toUpperCase() + value.slice(1);
})
new Vue({
el: '#app',
data: {
value: 'a-b-c'
}
})
</script>
</body>
• 一个过滤器可以传入多个参数。
<body>
<div id="app">
<!-- 注意:参数1永远是管道符左边的value -->
<p>{{ value | filterC('TGW—',200)}}</p>
</div>
<script src="../01.vue.js入门/js/vue-2.6.14.js"></script>
<script>
Vue.filter('filterC', function(par1,par2,par3) {
console.log(par1,par2,par3);
return par2 + par1.split('-').join('');
});
new Vue({
el: '#app',
data: {
value: 'a-b-c'
}
})
</script>
</body>
五、局部过滤器
• 局部过滤器只能在当前 Vue 实例中使用。其他的Vue实例中无法访问。
<div id="app">
<p>{{ content | filterA }}</p>
<p>{{ content2 | filterA }}</p>
<p>{{ content | filterA | filterB }}</p>
<p>{{ content | filterA | filterC('TGW—')}}</p>
</div>
<!-- <div id="app2">
<p>{{ content | filterA }}</p>
</div> -->
<script src="../01.vue.js入门/js/vue-2.6.14.js"></script>
<script>
new Vue({
el: '#app',
data: {
content: 'a-b-c',
content2: 'd-e-f'
},
filters: {
filterA: function (value){
console.log(value);
return value.split('-').join('')
},
filterB: function (value) {
return value.split('').reverse().join('')
},
filterC (value,prefix) {
return prefix + value;
}
}
})
// new Vue({
// el: '#app2',
// data: {
// content: 'g-h-i'
// }
// })
</script>
</body>
六、全局过滤器和局部过滤器重名现象
当我们出现全局过滤器和局部过滤器名字一样时,那么我们再执行的时候,是按照就近原则进行执行的,所以执行的是局部过滤器的代码块。
<body>
<div id="app">
<p>{{ content | filterA }}</p>
</div>
<script src="../01.vue.js入门/js/vue-2.6.14.js"></script>
<script>
Vue.filter('filterA', function (value){
return value.split('').reverse().join('')
})
new Vue({
el: '#app',
data: {
content: 'a-b-c'
},
filters: {
filterA (value) {
return value.split('-').join('')
}
}
})
</script>
</body>
来源:https://blog.csdn.net/qq_36213140/article/details/122780129
0
投稿
猜你喜欢
- 1:listWidget 以滚动窗口显示文件下的所有文件: self.listWidget = QtWidget
- **问题描述:**有如下程序输出日志,计算程序运行时间,显示花费623分钟?start time:2019-03-15 19:45:31.2
- 1:构图图形的层次感图形和元素之间的层次感,可以在干扰视觉的同时,突出自身所想体现的主题,这种表现方式往往是比较直接而且有效的方式。我们所说
- 一、安装redis因为是在CentOS系统下安装的,并且是服务器。遇到的困难有点多不过。1.首先要下载相关依赖首先先检查是否有c语言的编译环
- 一、urllib库是什么?urllib库用于操作网页 URL,并对网页的内容进行抓取处理urllib包 包含以下几个模块:urllib.re
- 一、停止数据库服务打开sqlserver自带的配置管理器,停止数据库服务。二、打开cmd窗口,执行命令(以管理员运行)以单用户模式启动sql
- 前言之前,我们用pygame做了一个2D的Pong游戏,今天我们做一个3D的,游戏画面如下:用ad和←→
- 方法一:torch.nn.DataParallel1. 原理如下图所示:小朋友一个人做4份作业,假设1份需要60min,共需要240min。
- 导语记得很久以前写过一些中国大学MOOC上的视频下载器,不过好像都已经年久失修了。正好最近有需要,所以重新写了一个,顺便上来分享一波,寒假大
- 这是去年毕设做的一个Web漏洞扫描小工具,主要针对简单的SQL注入漏洞、SQL盲注和XSS漏洞,代码是看过github外国大神(听说是SMA
- 转自微信公众号: Python之禅1.日志简介说到日志,无论是写框架代码还是业务代码,都离不开日志的记录,他能给我们定位问题带来极
- 什么是recovery?在elasticsearch中,recovery指的是一个索引的分片分配到另外一个节点的过程,一般在快照恢复、索引复
- 前言:func DeepEqual(x, y interface{}) boolDeepEqual 函数的参数是两个 i
- 前几天看到一个python框架win10toast,它可以用来做windows的消息通知功能。通过设定通知的间隔时间来实现一些事件通知的功能
- setup语法糖 最大好处就是所有声明部分皆可直接使用,无需return出去注意:部分功能还不完善,如:name、render还需
- 主题的修改:File -> Settings ,弹出的窗口中: Appearance & Behavior -> App
- 先来看一道题目:>>> def func(numbers=[], num=1):... numbers.append(nu
- 函数getcache,会自动建立需要的缓存。 代码如下:Function getcache(funsname,isreset,is
- FBV:function based view 基于函数的视图.CBV:class based view 基于类的视图.在视图函数创建类,需
- 登陆页login.asp:<% if request.Form.count>0 then ses