Vue的过滤器你真了解吗


Posted in Vue.js onFebruary 24, 2022

1. 过滤器

案例中使用到时间格式相关API

1.1 对过滤器的理解

定义:对要显示的数据进行特定格式化后在显示

适用:做一些简单的逻辑处理

特点:滤器可以做一些简单操作,并且没有改变原来的数据,产生新的对应的数据

​ 1. 语法 : data | 过滤器

​ 不传参数默认将data值传入,并且自动调用函数,函数可接收到value

​ 传参数并不会覆盖掉第一个参数,第一个参数默认是value,第二个参数才是 传入的参数

​ 2. 滤器可以以串联的形式

​ data | 过滤器 | 过滤器

​ 执行的顺序是将data当做参数传入到第一个过滤器中,第一个过滤器处理完,返回的

​ 值作为第二个过滤器的参数

1.2 全局过滤器:

Vue.filter(filterName, function(value){
  return value.slice(0, 4);
})
new Vue({
	.
	..
	...
})

1.3 局部过滤器:

new Vue{
	filters:{
		filterName(value){
      return value.slice(0, 4);
		}
	}
}

在html中使用过滤器

<div>{{ handledata | filtername }}</div>
<div>{{ handledata | filtername(参数) }}</div>

1.4 过滤器的案例

<div id="root">
        <h3>methods写的:{{time()}}</h3>
        <h3>computed写的:{{time1}}</h3>
        <h3>过滤器的写的:{{number | ftime("YYYY-MM-DD HH:mm:ss") | qjtime}}</h3>
    </div>
    <div id="root2">
        <hr>
        <h3>{{name | qjtime}}</h3>
    </div>
    <script>
        Vue.config.productionTip = false
        // 全局过滤器
        Vue.filter('qjtime', function (val) {
            return val.slice(0, 4)
        })
        let vm = new Vue({
            el: '#root',
            data: {
                number: Date.now()
            },
            methods: {
                time() {
                    return dayjs(this.number).format("YYYY年MM月DD日 HH:mm:ss")
                }
            },
            computed:
            {
                time1: {
                    get() {
                        return dayjs(this.number).format("YYYY年MM月DD日 HH:mm:ss")
                    }
                }
            },
            // 局部过滤器
            filters:
            {
                // 这是ES的语法表示如果有传参数就使用传进来的参数,如果没有传参就使用
                ftime(val, str = "YYYY年MM月DD日 HH:mm:ss") {
                    return dayjs(val).format(str)
                },
            }
        })

        new Vue({
            el: "#root2",
            data: {
                number: Date.now(),
                name: '我是第二个Vue'
            }
        })
    </script>

总结

以上就是今天要讲的内容,本文介绍了对过滤器的一些相关知识,希望对大家有所帮助!

Vue.js 相关文章推荐
vue实现下载文件流完整前后端代码
Nov 17 Vue.js
如何使用 vue-cli 创建模板项目
Nov 19 Vue.js
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 Vue.js
vue3使用vue-count-to组件的实现
Dec 25 Vue.js
基于vuex实现购物车功能
Jan 10 Vue.js
vue 项目@change多个参数传值多个事件的操作
Jan 29 Vue.js
vue实现禁止浏览器记住密码功能的示例代码
Feb 03 Vue.js
Vue2.x-使用防抖以及节流的示例
Mar 02 Vue.js
vue route新窗口跳转页面并且携带与接收参数
Apr 10 Vue.js
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
Apr 24 Vue.js
vue里使用create, mounted调用方法
Apr 26 Vue.js
Vue Mint UI mt-swipe的使用方式
Jun 05 Vue.js
Vue监视数据的原理详解
Feb 24 #Vue.js
Vue的列表之渲染,排序,过滤详解
Vue3如何理解ref toRef和toRefs的区别
Feb 18 #Vue.js
Vue h函数的使用详解
Feb 18 #Vue.js
详解Vue中$props、$attrs和$listeners的使用方法
Feb 18 #Vue.js
前端vue+express实现文件的上传下载示例
一篇文章告诉你如何实现Vue前端分页和后端分页
You might like
PHP中round()函数对浮点数进行四舍五入的方法
2014/11/19 PHP
php中有关合并某一字段键值相同的数组合并的改进
2015/03/10 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
2015/04/14 PHP
浅谈PHP的反射机制
2016/12/15 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
Jquery EasyUI $.Parser
2017/06/02 jQuery
js防刷新的倒计时代码 js倒计时代码
2017/09/06 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
vue3.0中的双向数据绑定方法及优缺点
2019/08/01 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
在Koa.js中实现文件上传的接口功能
2019/10/08 Javascript
element-ui tooltip修改背景颜色和箭头颜色的实现
2019/12/16 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
Python正则表达式使用范例分享
2016/12/04 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
numpy中的高维数组转置实例
2018/04/17 Python
python 控制台单行刷新,多行刷新实例
2020/02/19 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
2020/05/16 Python
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
简述数据库的设计过程
2015/06/22 面试题
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
2013年保送生自荐信格式
2013/11/20 职场文书
社区服务活动总结
2014/05/07 职场文书
2014年路政工作总结
2014/12/10 职场文书
初中毕业感言300字
2015/07/31 职场文书
小学语文教师研修感悟
2015/11/18 职场文书
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python
Django中celery的使用项目实例
2022/07/07 Python
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS