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-drawer-layout实现手势滑出菜单栏
Nov 19 Vue.js
Vue Elenent实现表格相同数据列合并
Nov 30 Vue.js
vue添加自定义右键菜单的完整实例
Dec 08 Vue.js
vue 数据操作相关总结
Dec 17 Vue.js
vue实现登录、注册、退出、跳转等功能
Dec 23 Vue.js
vuex的使用和简易实现
Jan 07 Vue.js
Vue2.x-使用防抖以及节流的示例
Mar 02 Vue.js
vue实现可移动的悬浮按钮
Mar 04 Vue.js
vue实现无缝轮播效果(跑马灯)
May 14 Vue.js
Vue CLI中模式与环境变量的深入详解
May 30 Vue.js
vue使用wavesurfer.js解决音频可视化播放问题
Apr 04 Vue.js
vue @click.native 绑定原生点击事件
Apr 22 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
PHP中通过加号合并数组的一个简单方法分享
2011/01/27 PHP
有关PHP中MVC的开发经验分享
2012/05/17 PHP
PHP获取MSN好友列表类的实现代码
2013/06/23 PHP
WordPress主题制作之模板文件的引入方法
2015/12/28 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
php use和include区别总结
2019/10/13 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
PHP操作Redis常用命令的实例详解
2020/12/23 PHP
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
JavaScript 封装一个tab效果源码分享
2015/09/15 Javascript
javascript小数精度丢失的完美解决方法
2016/05/31 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
2016/07/01 Javascript
js实现常用排序算法
2016/08/09 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
jquery.form.js异步提交表单详解
2017/04/25 jQuery
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
[01:09:16]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第一场 1月25日
2021/03/11 DOTA
windows下python连接oracle数据库
2017/06/07 Python
如何更改 pandas dataframe 中两列的位置
2019/12/27 Python
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
prAna官网:瑜伽、旅行和冒险服装
2019/03/10 全球购物
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
澳大利亚在线批发商:Simply Wholesale
2021/02/24 全球购物
档案室主任岗位职责
2014/02/12 职场文书
医德考评自我评价
2014/09/14 职场文书
2014年感恩节活动策划方案
2014/10/06 职场文书
四风查摆问题及整改措施
2014/10/10 职场文书
团拜会主持词
2015/07/04 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书
js实现上传图片到服务器
2021/04/11 Javascript
mysq启动失败问题及场景分析
2021/07/15 MySQL