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 相关文章推荐
快速解决vue2+vue-cli3项目ie兼容的问题
Nov 17 Vue.js
Vue如何循环提取对象数组中的值
Nov 18 Vue.js
Vue 打包的静态文件不能直接运行的原因及解决办法
Nov 19 Vue.js
Vue router安装及使用方法解析
Dec 02 Vue.js
vue+element_ui上传文件,并传递额外参数操作
Dec 05 Vue.js
vue祖孙组件之间的数据传递案例
Dec 07 Vue.js
vue实现登录、注册、退出、跳转等功能
Dec 23 Vue.js
vue.js watch经常失效的场景与解决方案
Jan 07 Vue.js
vue-cli中实现响应式布局的方法
Mar 02 Vue.js
vue+iview实现手机号分段输入框
Mar 25 Vue.js
vue3引入highlight.js进行代码高亮的方法实例
Apr 08 Vue.js
vue/cli 配置动态代理无需重启服务的方法
May 20 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
比特率,大家看看这个就不用收音机音质去比MP3音质了
2021/03/01 无线电
用PHP与XML联手进行网站编程代码实例
2008/07/10 PHP
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
web 页面分页打印的实现
2009/06/22 Javascript
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
2013/04/28 Javascript
javascript简单实现图片预加载
2014/12/03 Javascript
详解AngularJS中自定义过滤器
2015/12/28 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
关于js对textarea换行符的处理方法浅析
2018/08/03 Javascript
nodejs中方法和模块用法示例
2018/12/24 NodeJs
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
2020/04/27 Javascript
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python 字符串操作方法大全
2014/03/11 Python
详解 Python中LEGB和闭包及装饰器
2017/08/03 Python
详解如何使用Python编写vim插件
2017/11/28 Python
Python中使用支持向量机(SVM)算法
2017/12/26 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
2020/11/05 Python
ASP.NET Core中的配置详解
2021/02/05 Python
应用电子技术专业个人求职信
2013/09/21 职场文书
新员工培训个人的自我评价
2013/10/09 职场文书
总裁办公室主任职责
2014/01/02 职场文书
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
2014年终工作总结范本
2014/12/15 职场文书
召开会议通知范文
2015/04/15 职场文书
2015婚礼主持词开场白
2015/05/28 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书
Mysql 性能监控及调优
2021/04/06 MySQL
Pandas加速代码之避免使用for循环
2021/05/30 Python
CSS基础详解
2021/10/16 HTML / CSS
零基础学java之带参数以及返回值的方法
2022/04/10 Java/Android