程序员鸡皮
文章 分类 评论
116 3 31

站点介绍

一名PHP全栈程序员的日常......

Vue3自定义指令时间格式化案例(4)

abzzp 2024-08-31 724 0条评论 前端 vue

首页 / 正文
本站是作为记录一名北漂程序员编程学习以及日常的博客,欢迎添加微信BmzhbjzhB咨询交流......

发布于2024-07-04

为什么还要用自定义指令来实现时间戳转换呢,用js插件写就可以了,通过自定义指令可以快速的优点是什么?
因为每次使用不用再单独引入了,方便快速实现功能,下面是示例

// App.vue
<template>
  <div class="app">
    <h2 v-ftime="'YYYY/MM/DD'">{{ timestamp }}</h2>
    <h2 v-ftime>{{ 1551111166666 }}</h2>
  </div>
</template>  
<script setup>
  const timestamp = 1231355453
</script>
<style scoped>
</style>

这里我们用到了dayjs,所以要先安装dayjs

npm install dayjs

实现的js文件

//directives/ftime.js
import dayjs from 'dayjs'

export default function directiveFtime(app){
  app.directive("ftime",{
    mounted(el,bindings){
      // 1.获取时间,并且转化成毫秒
      let timestamp = el.textContent
      if(timestamp.length === 10){
        timestamp = timestamp * 1000
      }

      timestamp = Number(timestamp)

      // 2.获取传入的参数
      let value = bindings.value;
      if(!value){
        value = "YYYY-MM-DD HH:mm:ss"
      }

      // 3.对世界进行格式化
      const formatTime = dayjs(timestamp).format(value)
      el.textContent = formatTime
    }
  })
}

需要在index.js中引入

// directives/index.js
import directiveFtime from "./ftime"

export default function directives(app) {
  directiveFtime(app)
}

感谢大家观看,我们下次见

评论(0)

最新评论

  • 城市教堂

    我热爱 旅游专栏。令人惊艳了解路线。

  • 湖山風光

    欣赏你的照片, 我明白, 世界很美。感谢 旅行灵感。

  • 古競技場

    读起来像小说。继续保持 带来的灵感。

  • 奧運聖火

    让人精神焕发的 帖子! 我准备订票了。

  • abzzp

    以后焦虑了或者迷茫了记得回来看看[[流泪]]

  • 三十三瀑布

    我非常喜欢 出行博客。鼓舞人心查看路线。

  • 天星碼頭

    你们的博客 百分百 帮助选择路线。坚持!

  • 日落鼓掌

    信息丰富的 出行资源! 越来越棒!

  • digital banking

    My brother suggested I might like this blog. He was entirely right. This post actually made my day. You cann't imagine just how much time I had spent for this information! Thanks!

  • 碧海藍灣

    我热爱, 写得很实在。你的博客 就是 最好的例子。很出色。

日历

2026年02月

1234567
891011121314
15161718192021
22232425262728

文章目录

站点公告
本站是作为记录一名北漂程序员编程学习以及日常的博客,欢迎添加微信BmzhbjzhB咨询交流......
点击小铃铛关闭
配色方案