第11集丨Vue 江湖 —— 过滤器(filter)

news2024/11/25 19:41:16

目录

  • 一、过滤器
    • 1.1 局部过滤器
    • 1.2 全局过滤器
    • 1.3 过滤器的串联
    • 1.4 案例
  • 二、BootCDN
    • 2.1 在BootCDN下载dayjs
    • 2.2 dayjs官方文档

一、过滤器

过滤器:

  1. 定义:对要显示的数据进行特定格式化后再显示(适用于一些简单逻辑的处理)。
  2. 语法:
    a. 注册过滤器:全局过滤器Vue.filter(name, callback)或 局部过滤器new Vue{filters:{}}
    b. 使用过滤器:{{ xxx | 过滤器名| 过滤器名}}v-bind:属性= "xxx | 过滤器名"
  3. 备注:
    a. 过滤器也可以接收额外参数、多个过滤器也可以串联
    b. 并没有改变原本的数据,是产生新的对应的数据

1.1 局部过滤器

局部过滤器:通过new Vue{filters:{}}的方式来定义。

下面案例中,定义了一个局部过滤器timeFormater ,并传入了一个格式参数format。并使用了类库

  • 第一个参数:永远是要过滤的原本数据 time
  • 其余参数:为过滤器传入的参数
<h3>现在是:{{time | timeFormater('YYYY-MM-DD')}}</h3>
<script>
	new Vue({
	    el:'#root',
	    data:{
	        time:1691410289105,
	        msg:'任盈盈'
	    },
	    // 局部过滤器
	    filters:{
	        timeFormater(value, format="YYYY月MM日DD HH:mm:ss"){
	            return dayjs(value).format(format)
	        }
	    }
	})
</script>

1.2 全局过滤器

全局过滤器:通过Vue.filter(name, callback)方式来定义

// 全局过滤器
Vue.filter('mySlice',function(value){
   return value.slice(0,2)
})

1.3 过滤器的串联

下面案例中,对time进行过滤,并使用了两个过滤器timeFormatermySlice

  • 先使用timeFormater进行过滤,其过滤的后的返回值作为mySlice的入参
  • 在使用mySlice进行过滤,之后返回值作为整个表达式的结果
<h3>现在是:{{time | timeFormater('YYYY-MM-DD') | mySlice}}</h3>

1.4 案例

下面案例中,适用了类库dayjs,在第下面章节中,将会介绍如何使用。

<div id="root">
    <h2>显示格式化后的时间</h2>

    <!-- 计算属性实现 -->
    <h3>现在是:{{fmtTime}}</h3>

    <!-- methods实现 -->
    <h3>现在是:{{getFmtTime()}}</h3>

    <!-- 过滤器实现 -->
    <h3>现在是:{{time | timeFormater}}</h3>

    <!-- 过滤器实现(传参) -->
    <h3>现在是:{{time | timeFormater('YYYY-MM-DD') | mySlice}}</h3>

    <!-- v-bind使用 -->
    <h3 :x="msg | mySlice">令狐冲 v-bind使用</h3>

</div>

<div id="root2">
    <h2>{{msg | mySlice}}</h2>
</div>
<script>
    // 全局过滤器
    Vue.filter('mySlice',function(value){
        return value.slice(0,2)
    })
    new Vue({
        el:'#root',
        data:{
            time:1691410289105,
            msg:'任盈盈'
        },
        methods: {
            getFmtTime(){
                return dayjs(this.time).format('YYYY月MM日DD HH:mm:ss')
            }
        },
        computed:{
            fmtTime(){
                return dayjs(this.time).format('YYYY月MM日DD HH:mm:ss')
            }
        },
        // 局部过滤器
        filters:{
            timeFormater(value, format="YYYY月MM日DD HH:mm:ss"){
                return dayjs(value).format(format)
            },
            mySlice(value){
                return value.slice(0,2)
            }
        }
    })
    
    new Vue({
        el:'#root2',
        data:{
            msg:"令狐冲"
        }
    })
</script>

在这里插入图片描述
在这里插入图片描述

二、BootCDN

BootCDN 支持并维护的前端开源项目免费 CDN 服务,致力于为 BootstrapjQueryReactVue.js 一样优秀的前端开源项目提供稳定快速免费 CDN 加速服务BootCDN 所收录的开源项目主要同步于 cdnjs 开源项目仓库。

2013年上线以来已经累计为近百万网站提供了稳定、可靠的免费 CDN 加速服务

  • 参考网址:BootCDN官网

2.1 在BootCDN下载dayjs

点击打开BootCDN官网输入关键字dayjs进行查找。

  1. 点击搜索结果中的dayjs

在这里插入图片描述

  1. 复制链接,并在浏览器中打开

在这里插入图片描述

  1. 另存为dayjs.min.js,即可

在这里插入图片描述

2.2 dayjs官方文档

  1. 打开网址:dayjs

在这里插入图片描述
2. 打开 dayjs github地址,可以看到使用文档

dayjs()
	.startOf('month').
	add(1, 'day').
	set('year', 2018).
	format('YYYY-MM-DD HH:mm:ss');

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/867597.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里巴巴面试题---考察对底层源代码的熟悉程度

题目如图所示: 很多人可能会觉得两个输出都会是false,因为我们都会觉得""比较的是引用类型的地址,虽然放入的值都一样但是重新创造了新对象,地址不一样,所以结果都是false. 然而,当我们运行程序会发现结果都是false. 下面,我们来分析为什么是这样的结果. 我们知道…

nodejs+vue+elementui健身俱乐部网站rix1z

为设计一个安全便捷&#xff0c;并且使用户更好获取本健身俱乐部管理信息&#xff0c;本文主要有安全、简洁为理念&#xff0c;实现用户快捷寻找健身课程、健身器材、会员卡信息、新闻公告等信息&#xff0c;从而解决健身俱乐部管理信息复杂难辨的问题。该系统以vue架构技术为基…

Linux 目录和文件常见操作

就常见的命令&#xff1a; pwd pwd 显示当前的目录 目录迁移 我以如下的目录大致结构做一个简单的例子 cd 迁移到指定的路径&#xff0c;可以指定相对路径和绝对路径&#xff0c;默认相对 .指向当前路径&#xff0c;…/ 指向上一级的目录。 ls 列出文件及其目录 命令选…

取个对象值导致系统崩溃

取个对象值导致系统崩溃 前言 想必各位小伙经常在项目中遇到一些错误&#xff0c;取对象值的时候&#xff0c;经常报错,又或者某些项目突然就挂经常都是出现在一些对象取值上面&#xff0c;然后就被领导一顿训斥 报错分析 例如&#xff1a; 下面这个报错大家想必不会陌生&am…

华尔街之狼

&#xff08;1&#xff09; 我最近在重看一本书《物理学家走进华尔街》&#xff0c;顺便我还又重看了一遍《华尔街之狼》。 华尔街之狼&#xff0c;我最感兴趣三点&#xff1a; 垃圾产品&#xff1a;退市的垃圾股粉单 垃圾顾客&#xff1a;没有钱&#xff0c;但想发财的平民。就…

掌握Python的X篇_28_python包管理工具pip命令

本篇将会介绍在实际使用python中最能节省效率的内容&#xff0c;利用第三方库拿来就用。 文章目录 1. pip命令是什么2. pip相关操作2.1 list2.2 install2.3 uninstall2.4 导出和导入2.4.1 freeze命令2.4.2 “-r” 3. 国内镜像4. Python Packges Index网站 1. pip命令是什么 p…

mysql安装配置教程

mysql下载 mysql官网 mysql英文官网下载 mysql安装 解压安装包,如下效果 2.配置初始化文件my.ini 在根目录下创建一个txt文件&#xff0c;名字叫my&#xff0c;文件后缀为ini 之后复制下面这个代码放在文件下 &#xff08;新解压的文件没有my.ini文件&#xff0c;需自行创建…

QT界面的布局

QT界面的布局 qt 下的布局: 1.水平布局2.垂直布局3格布局 图片记得设置大小后在进行布局 文字居中

c++11-14-17_内存管理(RAII)_多线程

文章目录 前言&#xff1a;什么是RAII&#xff1f;指针/智能指针&#xff1a;使用智能指针管理内存资源&#xff1a;unique_ptr的使用&#xff1a;自定义删除器&#xff1a; shared_ptr的使用&#xff1a;shared_ptr指向同一个对象的不同成员&#xff1a;自定义删除函数&#x…

时序预测 | Python实现LSTM长短期记忆网络时间序列预测(电力负荷预测)

时序预测 | Python实现LSTM长短期记忆网络时间序列预测(电力负荷预测) 目录 时序预测 | Python实现LSTM长短期记忆网络时间序列预测(电力负荷预测)效果一览基本描述模型结构程序设计参考资料效果一览

英雄联盟LOL无法登录,登录后客户端转圈,客户端无法与登陆队列进行通讯,平台也许在维护

问题描述&#xff1a; 1、英雄联盟客户端登录后转圈&#xff0c;随后提示客户端无法与登陆队列进行通讯&#xff0c;平台也许在维护。 2、多试几次或许能登录&#xff0c;但打完该局游戏后客户端闪退&#xff0c;随后再也无法登录。 无效的解决方案&#xff1a;建议不要尝试…

江湖游历:Mysql操作内功、面向对象心法兼修秘籍

文章目录 前言一 PyMysql入门二 综合案例2.1 案例需求2.2 DDL定义2.3 实现步骤2.4 参考代码2.4.1 封装数据对象2.4.2 读取文件数据对象2.4.3 连接并写入数据库对象 2.5 1045错误解决 三 今日作业3.1 实现思路3.2 参考代码3.2.1 对象类的封装3.2.2 操作代码 3.3 出现的错误3.3.1…

java+springboot+mysql智能社区管理系统

项目介绍&#xff1a; 使用javaspringbootmysql开发的社区住户综合管理系统&#xff0c;系统包含超级管理员、管理员、住户角色&#xff0c;功能如下&#xff1a; 超级管理员&#xff1a;管理员管理&#xff1b;住户管理&#xff1b;房屋管理&#xff08;楼栋、房屋&#xff…

如何使用Markdown编辑器?详细做法

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

【Linux】【驱动】驱动框架以及挂载驱动

【Linux】【驱动】驱动框架以及挂载驱动 绪论1.配置开发环境2. 编写驱动文件3. 编译Makefile文件4.编译5. 挂载驱动注意:有些开发板打开了或者禁止了printk信息&#xff0c;导致你看到的实验现象可能不一样&#xff0c;此时已经将文件移动到了开发板中&#xff0c;开发板查看文…

观察者模式实战

场景 假设创建订单后需要发短信、发邮件等其它的操作&#xff0c;放在业务逻辑会使代码非常臃肿&#xff0c;可以使用观察者模式优化代码 代码实现 自定义一个事件 发送邮件 发送短信 最后再创建订单的业务逻辑进行监听&#xff0c;创建订单 假设后面还需要做其它的…

Python-OpenCV中的图像处理-傅里叶变换

Python-OpenCV中的图像处理-傅里叶变换 傅里叶变换Numpy中的傅里叶变换Numpy中的傅里叶逆变换OpenCV中的傅里叶变换OpenCV中的傅里叶逆变换 DFT的性能优化 傅里叶变换 傅里叶变换经常被用来分析不同滤波器的频率特性。我们可以使用 2D 离散傅里叶变换 (DFT) 分析图像的频域特性…

【24择校指南】西北大学计算机考研考情分析

西北大学(B-) 考研难度&#xff08;☆☆☆☆&#xff09; 内容&#xff1a;23考情概况&#xff08;拟录取和复试分数人数统计&#xff09;、院校概况、23考试科目、23复试详情、各专业考情分析。 正文字数1914字&#xff0c;预计阅读5分钟。 2023考情概况 西北大学计算机相…

Raspberry Pi Pico RP2040制作低成本FPGA JTAG工具

目录 1 准备工作和前提条件 1.1 Raspberry Pi Pico RP2040板子一个 1.2 xvcPico.uf2固件 1.3 Vivado USB驱动 2 操作指南 2.1 按住Raspberry Pi Pico开发板的BOOTSEL按键&#xff0c;再接上USB接口到电脑 2.2 刷入固件 2.3 Vivado USB 驱动 2.3.1 打开Zadig驱动工具 2.3…

深入理解Linux内核--虚拟文件

虚拟文件系统(VFS)的作用 虚拟文件系统(Virtual Filesystem)也可以称之为虚拟文件系统转换(Virtual Filesystem Switch,VFS), 是一个内核软件层&#xff0c; 用来处理与Unix标准文件系统相关的所有系统调用。 其健壮性表现在能为各种文件系统提供一个通用的接口。VFS支持的文件…