vue-过滤器(filter)的使用详解

前言
Vue 允许我们在项目中定义过滤器对我们页面的文本展示进行格式的控制,本文就来总结一下过滤器在项目中的常见使用方法。
正文
1.局部过滤器的注册
(1)无参局部过滤器
<div id="app">
<!-- 组件内部的过滤器 -->
<filter-item :msg="toMsg"></filter-item>
</div>
<script>
// 组件内部注册过滤器
Vue.component("filter-item", {
data() {
return {
}
},
props: ['msg'],
filters: {
toFixed(value) {
if (!value) {
return
}
return value.toFixed(2)
},
},
template: "<div>{{msg|toFixed}}</div>"
})
new Vue({
el: "#app",
data() {
return {
toMsg: 123,
}
},
})
</script>
运行结果如下:
上面的代码中在子组件内部定义一个过滤器,在其模板中的插值表达式中使用,完成了对字符串的格式化。
(2)带参局部过滤器
<div id="app">
<!-- 组件内部的过滤器 -->
<filter-item :msg="toMsg"></filter-item>
</div>
<script>
// 组件内部注册过滤器
Vue.component("filter-item", {
data() {
return {
}
},
props: ['msg'],
filters: {
toString(value,arg){
if (!value) {
return
}
console.log("value",value);
return value.toString(arg)
}
},
template: "<div>{{msg|toString(2)}}</div>"
})
// 全局注册过滤器
new Vue({
el: "#app",
data() {
return {
toMsg: 123,
}
},
})
</script>
运行结果如下:
上面的代码中在组件内部定义一个过滤器,接受两个参数,第一个参数是需要格式化的文本,第二个是需要进行的进制转化。
2.全局过滤器的注册
(1)无参全局过滤器
<div id="app">
<!-- 全局的过滤器 -->
{{myMsg|toUpper}}
</div>
<script>
// 全局注册过滤器
new Vue({
el: "#app",
data() {
return {
myMsg: "abcdef"
}
},
filters: {
toUpper(value) {
if (!value) {
return
}
return value.toUpperCase()
},
},
methods: {
}
})
</script>
运行结果如下:
上面的代码中在vue根组件中定义一个过滤器,该过滤器为全局过滤器,同样通过插值表达式完成格式转化。
(2)带参全局过滤器
<div id="app">
<!-- 传递参数的过滤器 -->
{{myMsg|toSlice(3)}}
</div>
<script>
// 全局注册过滤器
new Vue({
el: "#app",
data() {
return {
toMsg: 123,
myMsg: "abcdef"
}
},
filters: {
// 传参的过滤器
toSlice(value,arg){
if (!value) {
return
}
return value.slice(arg)
}
},
})
</script>
运行结果如下:
上面的代码中在vue根组件中定义一个全局过滤器,该过滤器接收两个参数,第一个参数为需要格式化的文本,第二个为真正的参数。
注意:当局不和全局有两个名称相同的过滤器的时候,会首先使用局部过滤器,这里采用就近原则,局部过滤器会优先于全局过滤器的调用。
3.过滤器的使用
在插值表达式中使用带个过滤器如上文,如果需要组合使用多个过滤器的时候,需要用 "|"分隔符隔开。使用如下:
<div id="app">
<!-- 串联的过滤器 -->
{{myMsg|toUpper|toReverse}}
</div>
<script>
// 全局注册过滤器
new Vue({
el: "#app",
data() {
return {
toMsg: 123,
myMsg: "abcdef"
}
},
filters: {
toUpper(value) {
if (!value) {
return
}
return value.toUpperCase()
},
toReverse(value) {
if (!value) {
return
}
return value.split("").reverse().join("")
},
}
})
</script>
运行结果如下:
上面的代码使用了串联的过滤器,首先通过toUpper过滤器对文本进行大写转化,然后toReverse过滤器对文本进行反转转化,最终得到结果。
写在最后
以上就是本文的全部内容,希望给读者带来些许的帮助和进步,方便的话点个关注,小白的成长踩坑之路会持续更新一些工作中常见的问题和技术点。

vue-过滤器(filter)的使用详解的更多相关文章
- Java过滤器Filter的使用详解
过滤器 过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改.判断等,把不符合规则的请求在中途拦截或修改.也可以对响应进行过滤,拦截或修改响应. 如 ...
- Vue插件编写、用法详解(附demo)
Vue插件编写.用法详解(附demo) 1.概述 简单来说,插件就是指对Vue的功能的增强或补充. 比如说,让你在每个单页面的组件里,都可以调用某个方法,或者共享使用某个变量,或者在某个方法之前执行一 ...
- npm安装vue详细教程(图片详解)
npm安装vue详细教程(图片详解) 一.总结 一句话总结:整个安装流程照着教程来,注意系统环境变量的配置,注意一下npm的本地仓库和缓存位置 教程 系统环境变量 仓库 缓存 1.什么情况下最适合用n ...
- vue视图不更新情况详解
vue视图不更新情况详解:https://www.jb51.net/article/161371.htm
- vue和react全面对比(详解)
vue和react对比(详解) 放两张图镇压小妖怪 本文先讲共同之处, 再分析区别 大纲在此: 共同点: a.都使用虚拟dom b.提供了响应式和组件化的视图组件 c.注意力集中保持在核心库,而将其他 ...
- vue 过滤器filter的详解
1.代码运用的地方 <!-- 在双花括号中 --> {{ date | formatDate}} <!-- 在 `v-bind` 中 --> <div v-bind:id ...
- Filter(过滤器)与Listener(监听器)详解
11.Filter(重点) Filter:过滤器,用来过滤网站的数据: 处理中文乱码 登陆验证... Filter开发步骤: 导包 编写过滤器 导包不要错 实现Filter接口,重写对应的方法即可 p ...
- Vue插件写、用详解(附demo)
出处http://blog.csdn.net/qq20004604 Vue插件 1.概述 简单来说,插件就是指对Vue的功能的增强或补充. 比如说,让你在每个单页面的组件里,都可以调用某个方法,或者共 ...
- Vue教程:组件Component详解(六)
一.什么是组件? 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功 ...
- vue - 过滤器filter的基本使用
1.全局过滤器 输出: 过滤器可以多次来调用 输出: 2.私有过滤器 <!DOCTYPE html> <html lang="en"> <head&g ...
随机推荐
- ffmpeg 任意文件读取漏洞/SSRF漏洞 (CVE-2016-1897/CVE-2016-1898)
影响版本 在FFMpeg2.X poc http://192.168.49.2:8000/?name={%25%20for%20c%20in%20[].__class__.__base__.__sub ...
- Android系统编程入门系列之加载服务Service
之前几篇文章简单梳理了在Android系统的四大组件之一,最主要的界面Activity中,使应用程序与用户进行交互响应的相关知识点,那对于应用程序中不需要与用户交互的逻辑,又要用到哪些内容呢?本文开始 ...
- C++11 noexcept 关键字用法学习
最近学习和写了一个 mint 的板子 ,其中用到了 noexcept 关键字,对这个关键字不太熟悉,便学习一下刘毅学长的文章. C++98 中的异常规范(Exception Specification ...
- 面试官疯狂问我:char和varchar的区别 怎么办?愣着干嘛?进来白嫖啊!
MySQL的修仙之路,图文谈谈如何学MySQL.如何进阶!(已发布) 面前突击!33道数据库高频面试题,你值得拥有!(已发布) 大家常说的基数是什么?(已发布) 讲讲什么是慢查!如何监控?如何排查?( ...
- 查看filesystem type及ftype的值
查看Filesystem type df -Th 查看ftype xfs_info [filesystem_name] | grep ftype
- JUC学习笔记(三)
JUC学习笔记(一)https://www.cnblogs.com/lm66/p/15118407.html JUC学习笔记(二)https://www.cnblogs.com/lm66/p/1511 ...
- Arp欺骗和DNS投毒
中间人攻击 ARP缓存攻击 ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址.简单来说,就 ...
- CentOS后台服务管理类
目录 一.service 后台服务管理(临时,只对当前有效) 二.chkconfig 设置后台服务的自启配置(永久) 三.CentOS7 后添加的命令:systemctl 一.service 后台服务 ...
- 百度地图API开发的快速使用和大量坐标点操作【点聚合,海量点,mapv】
快速上手 注意:本篇文章代码是基于 百度地图 JavaScript API v3.0 的条件下编写,GL版本可能稍有变化. 地图嘛,很重要的一部分就是坐标经纬度了: 经度: 英文 longitude ...
- Java自定义注解使用和详解
前言 我们在做开发springboot 项目时候会遇到各种各样注解,使用各种各样注解,极大的简便了我们开发流程,方式,从JDK5开始支持 注解是Java语言的一种强大的功能 可以理解为代码上的特殊标记 ...