首页 > 其他分享 >Vue学习笔记25--过滤器(日期格式化)

Vue学习笔记25--过滤器(日期格式化)

时间:2024-02-29 18:25:00浏览次数:23  
标签:25 Vue 格式化 dayjs -- YYYY time 过滤器 return

日期格式化

日期格式化插件: https://www.bootcdn.cn/ moment.js、day.js(轻量级moment.js) 插件用法:双击day.js==>复制链接并访问==》另存为dayjs.min==》项目中引用

https://github.com/iamkun/dayjs/blob/dev/docs/zh-cn/README.zh-CN.md

过滤器总结:

定义:对要显示的数据进行特定格式化后再进行显示——适用于一些简单逻辑的处理。

语法:

  1. 注册过滤器:Vue.filter(name,callback) 或 new Vue{filters:{}}
  2. 使用过滤器:{{xxx|过滤器1|过滤器N}} 或 v-bind:属性="xxx|过滤器"

备注:

  1. 过滤器也可以接受额外参数、多个过滤器也可以串联
  2. 并没有改变原本的数据,是产生新的对应的数据
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>过滤器</title>
  <script type="text/javascript" src="../Js/vue.js"></script>
  <script type="text/javascript" src="../Js/dayjs.min.js"></script>
</head>
<!-- 日期格式化插件 https://www.bootcdn.cn/
  moment.js、day.js(轻量级moment.js)
 -->

<body>
  <div id="root">
    <h2>时间格式化:</h2>
    <hr>
    <h3>时间戳现在是:{{time}}</h3>
    <h3>computed格式化时间是:{{formatTime}}</h3>
    <h3>methods格式化时间是:{{getFormatTime()}}</h3>
    <h3>过滤器实现格式化时间是:{{time|filTimeFormater}}</h3>
    <h3>过滤器实现格式化时间是:{{time|filTimeFormater()}}</h3>
    <h3>过滤器实现格式化时间是:{{time|filTimeFormater2('YYYY-MM-DD HH:mm:ss')}}</h3>
    <h3>过滤器实现格式化时间是:{{time|filTimeFormater2('YYYY-MM-DD')}}</h3>
    <h3>过滤器实现格式化时间是:{{time|filTimeFormater3('YYYY-MM-DD')}}</h3>
    <h3>过滤器实现格式化时间是:{{time|filTimeFormater3()}}</h3>
    <h3>过滤器实现格式化时间是:{{time|filGetYear}}</h3>
    <hr>
    <!-- 完成第一个过滤器后,继续串联进行第二个过滤器
      不能把过滤器和方法或计算属性串联哦
     -->
    <h3>多过滤器串联格式化:{{time|filTimeFormater3|filGetYear2}}</h3>
    <hr>

  </div>
  <div id="root2">
    <h3>使用局部过滤器会失效,控制台会出错哦:{{msg|filGetYear2}}</h3>
    <hr>
    <h3>全局过滤器来了:{{msg|mySlice}}</h3>
  </div>
</body>

</html>
<script type="text/javascript">
  Vue.config.productionTip = false
  // 全局过滤器
  Vue.filter('mySlice', function (value) {
    return value.slice(0, 4)//字符串截取
  })

  const vm = new Vue({
    el: '#root',
    data: {
      time: Date.now(),
      errorInfo: '看看,提示信息来喽'
    },
    computed:
    {
      formatTime () {
        return dayjs(this.time).format('YYYY-MM-DD HH:mm:ss')
      },
    },
    methods: {
      getFormatTime () {
        // return dayjs(this.time).format('YYYY-MM-DD HH:mm:ss')
        return dayjs(Date.now()).format('YYYY-MM-DD HH:mm:ss')
      },
    },
    // 在vm中的局部过滤器
    filters: {
      filTimeFormater (value) {
        return dayjs(value).format('YYYY-MM-DD HH:mm:ss')
      },
      // 默认第一个入参为time--即过滤器本身的值
      filTimeFormater2 (value, paraStr) {
        return dayjs(value).format(paraStr)
      },
      // 过滤器可设置默认入参
      filTimeFormater3 (value, paraStr = 'YYYY-MM-DD HH:mm:ss') {
        return dayjs(value).format(paraStr)
      },
      filGetYear (val, str = 'YYYY') {
        return dayjs(val).format(str)
      },
      filGetYear2 (val) {
        return val.slice(0, 4)//字符串截取
      },
    },
  })

  new Vue({
    el: '#root2',
    data: {
      msg: '我想死你了',
    },

  })
</script>

 

标签:25,Vue,格式化,dayjs,--,YYYY,time,过滤器,return
From: https://www.cnblogs.com/YYkun/p/18044781

相关文章

  • 《系统科学方法概论》第一章
    读书笔记:常绍舜的《系统科学方法概论》是一本系统科学的经典著作,第一章主要介绍了系统科学的基本概念和方法论。通过阅读这一章,我对系统科学有了更深入的理解,并且对于科学研究的方法也有了新的认识。首先,作者在第一章中明确了系统科学的定义,即系统科学是一种研究复杂系统的综合性......
  • 洛谷题单指南-二分查找与二分答案-P1678 烦恼的高考志愿
    原题链接:https://www.luogu.com.cn/problem/P1678题意解读:要计算不满意度之和的最小值,就要保证每个人的不满意度最小,即选择的学校录取分数-学生分数之差的绝对值最小。解题思路:如何在学校录取分数中找与学生分数最接近的呢?有三种可能:1、学生分数在录取分数中存在相等的2、学......
  • 使用safe-area-inset-*来适配iPhoneX的刘海屏及底部横条区域
    之前一直沿用同事写的媒体查询处理这个问题,所有固定在底部展示的按钮栏都要用媒体查询来定义距离底部的距离,着实不太方便,而且媒体查询比较有局限性,不太可能把市面上所有机型都适配一遍。刚好要处理折叠屏适配问题,重构了一个复杂页面的布局,就找到了使用safe-area-inset-*来适配iPh......
  • 记账本开发记录六
    添加收入或支出布局文件<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent......
  • useModal对弹窗进行逻辑封装
    useModal.jsimport{nextTick,ref}from'vue'import{isFunction}from'@/utils/judge'exportfunctionuseModal(){ //标题 //执行ok、cancel方法 constvisible=ref(false) constloading=ref(false) consthideModal=()=>{ ......
  • 控制方法
    本章学习的是控制方法,了解控制论历史,什么是控制,控制系统的基本属性怎么进行控制控制论发展至今,已经形成了四大分支理论体系:工程控制论,生物控制论,社会控制论,人工智能。控制的定义:就是指在一定环境中,一个系统通过一定方式驾驭支配另一个系统做合目的运动的行为及过程。之后了解了......
  • 记账本开发记录八
    实现第三个功能,查看账单记录。和往常相同,首先制作页面布局  <?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layo......
  • 系统科学方法概论第四章读后感
    在我接触并深入研究计算机控制方法后,我对其在现代社会中的重要性有了更深的认识。当我阅读关于计算机控制方法的书籍时,我被其精妙而复杂的设计所吸引,这不仅是一门科学,更是一门艺术。对于我来说,计算机控制方法不仅是工程领域的专业知识,更是一种解决现实问题的有效工具。通过学习和......
  • 计划清单
    接下来的一个月的时间内准备一天完成6道题具有针对性的完成 五道题大致为下: 1. 一道CF1400~17002.  一道背包dp(背包完成后会针对性的进行其他的动态规划) 3. 一道图论(单源,多源最短路,最小生成树,差分约束,树的重心,求最长路......
  • 系统科学方法概论第二章读后感
    系统科学方法概论第二章,系统工程方法,关于什么是系统工程,工程一词很早就出现,在现代意义上的公称概念,通常是指由众多工作组成的整体及其开展过程,系统工程与常规工程相比有六个基本特征,一,复杂程度高。二,有一个目标体系。三,具有定量化特征。四,最优化特征。五,程序化特征。六,应用范围广,......