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设计一个日历表
Dec 03 Vue.js
对vue生命周期的深入理解
Dec 03 Vue.js
vue实现简易的双向数据绑定
Dec 29 Vue.js
Vue.extend 登录注册模态框的实现
Dec 29 Vue.js
vue实现树状表格效果
Dec 29 Vue.js
vue中实现点击空白区域关闭弹窗的两种方法
Dec 30 Vue.js
详解vue身份认证管理和租户管理
May 25 Vue.js
详解Vue的列表渲染
Nov 20 Vue.js
vue选项卡切换的实现案例
Apr 11 Vue.js
Vue ECharts实现机舱座位选择展示功能
May 15 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
yii2中添加验证码的实现方法
2016/01/09 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
MooTools 1.2中的Drag.Move来实现拖放
2009/09/15 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
2011/02/16 Javascript
jQuery自动切换/点击切换选项卡效果的小例子
2013/08/12 Javascript
javascript中的作用域和闭包详解
2016/01/13 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
JavaScript实现开关等效果
2017/09/08 Javascript
Vee-Validate的使用方法详解
2017/09/22 Javascript
基于ajax和jsonp的原生封装(实例)
2017/10/16 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
jQuery对底部导航进行跳转并高亮显示的实例代码
2019/04/23 jQuery
vue 表单之通过v-model绑定单选按钮radio
2019/05/13 Javascript
layui下拉列表select实现可输入查找的方法
2019/09/28 Javascript
vue-cli 为项目设置别名的方法
2019/10/15 Javascript
在Python中使用元类的教程
2015/04/28 Python
Python算法之图的遍历
2017/11/16 Python
Python目录和文件处理总结详解
2019/09/02 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
2019/11/27 Python
Django 自定义404 500等错误页面的实现
2020/03/08 Python
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
实现strstr功能,即在父串中寻找子串首次出现的位置
2016/08/05 面试题
恒华伟业笔试面试题
2015/02/26 面试题
大专生简历的自我评价
2013/11/26 职场文书
《雾凇》教学反思
2014/02/17 职场文书
新闻编辑求职信
2014/04/09 职场文书
小学生学雷锋演讲稿
2014/04/25 职场文书
副校长个人对照检查材料思想汇报
2014/10/04 职场文书
2015年护士节慰问信
2015/03/23 职场文书
停水通知
2015/04/16 职场文书
工作表现证明
2015/06/15 职场文书
2019个人工作计划书的格式及范文!
2019/07/04 职场文书
导游词之崇武古城
2019/10/07 职场文书
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android
docker 制作mysql镜像并自动安装
2022/05/20 Servers
git中cherry-pick命令的使用教程
2022/06/25 Servers