时间戳的显示需求

在开发中,大多数情况下从服务器请求获取到的都是时间戳。
我们需要将时间戳转换成具体格式化的时间来展示。
在Vue2中可以通过过滤器(filter)来完成;
在Vue3中可以通过 计算属性(computed) 或者 自定义方法(methods) 来完成;
其实我们还可以通过一个自定义的指令来完成。
下面直接贴出部分代码参考:
这里实现一个可以自动对时间戳格式化的指令v-format-time。
import registerFormatTime from './format-time';export default function registerDirectives(app) {registerFormatTime(app);
}
上面是一个类似工具函数,可以引入其它自定义指令的封装,在main.js中我们只需要调用这个函数并且传入app实例即可。
import dayjs from 'dayjs';export default function(app) {app.directive("format-time", {created(el, bindings) {bindings.formatString = "YYYY-MM-DD HH:mm:ss";if (bindings.value) {bindings.formatString = bindings.value;}},mounted(el, bindings) {const textContent = el.textContent;let timestamp = parseInt(textContent);if (textContent.length === 10) {timestamp = timestamp * 1000}el.textContent = dayjs(timestamp).format(bindings.formatString);}})
}

在App.vue文件中测试:

<template><h2 v-format-time="'YYYY/MM/DD'">{{timestamp}}</h2>
</template><script>export default {setup() {const timestamp = 1624452193;return {timestamp}}}
</script>

补充:指令的参数和修饰符

 <button v-self:info.aaaa.bbbb="'ABC'" ></button>
  • info是参数的名称
  • aaa-bbb是修饰符的名称
  • ABC是传入参数的具体的值

以上都可以在生命周期函数中获取相应的数据。

注意:在Vue中,代码的复用和抽象主要还是通过组件;在某些情况下,对DOM元素进行底层操作就需要使用到自定义指令。 

【vue】使用自定义指令实现时间戳格式化相关推荐

  1. Vue.js自定义指令的用法与实例

    市面上大多数关于Vue.js自定义指令的文章都在讲语法,很少讲实际的应用场景和用例,以致于即便明白了怎么写,也不知道怎么用.本文不讲语法,就讲自定义指令的用法. 自定义指令是用来操作DOM的.尽管Vu ...

  2. VUE通过自定义指令,只允许输入大写英文以及数字

    在写之前需要知道几个功能对象的作用: 首先输入框输入的情况有键盘输入和粘贴输入的情况 用到的组件有: input.onblur-onblur: 事件会在对象失去焦点时发生.Onblur 经常用于Jav ...

  3. VUE:自定义指令(directives )选项的用法

    自定义指令分为全局指令和局部指令.全局指令可在任意vue组件内生效,局部指令仅在注册了指令的组件内生效. 全局指令和局部指令写法几乎相同.全局指令是在main.js内使用Vue.directive注册 ...

  4. js:Vue.js自定义指令实现scroll下滑滚动翻页

    Vue.js自定义指令实现scroll下滑滚动翻页 核心代码 import Vue from 'vue'// v-scroll Vue.directive('scroll', {bind(el, bi ...

  5. vue 项目自定义指令实现防抖

    自定义v-debounce指令实现click事件防抖 该指令绑定的方法暂不支持传递参数,如需要传参数可以参考另一篇博客,防抖组件的实现 工具uitls文件夹创建debounce.js文件 代码如下 i ...

  6. VUE使用自定义指令对普通 DOM 元素进行底层操作

    使用vue的自定义指令来整合某个重复使用的底层操作 举个聚焦输入框的例子,如下: 当页面加载时,该元素将获得焦点 (注意:autofocus 在移动版 Safari 上不工作).事实上,只要你在打开这 ...

  7. Vue的自定义指令以及Vue自定义指令的应用场景

    前言 一.Vue的自定义指令分为? vue中除了核心功能内置的指令外,也允许注册自定义指令.有的情况下,对普通DOM元素进行底层操作,这时候就会用到自定义指令. 自定义指令分为全局自定义指令和局部的自 ...

  8. vue directives自定义指令的使用

    有的情况下,需要对普通 DOM 元素进行底层操作,这时候就会用到自定义指令. 自定义指令使用情景: 1.按钮级别权限的控制. 2.按钮的波纹动态效果. 3.一键copy的功能. 4.输入框自动聚焦. ...

  9. Vue.js 自定义指令

    简介 除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令.注意,在 Vue2.0 中,代码复用和抽象的主要形式是组件.然而,有的情况下,你仍然需要对普通 D ...

最新文章

  1. 我的ExtJS学习之路 ——4
  2. javascript 深度克隆对象
  3. Visual Studio原生开发的20条调试技巧
  4. 过滤设置_深圳外置鱼池过滤器零售_杰蒙尼鱼池过滤器
  5. 交通银行信息技术管理部副总经理张漫丽:交通银行“大数据+人工智能”应用研究...
  6. SQL Server读写分离之发布订阅
  7. 密码学专题 非对称加密算法指令概述 DSA算法指令
  8. “元宇宙”是如何搞垮公司的?
  9. 2021-07-12 原来我用的是CPU,更改方法
  10. 解决selenium连接driver报错Message: Can not connect to the Service chromedrive
  11. w10自动删除文件怎么关了_回收站删除的文件怎么恢复?
  12. 1、基于Feign的接口调用概述
  13. 前亚马逊中国总裁王汉华出任好耶CEO
  14. Android RatingBar使用Kotlin
  15. 大容量nc文件解析_分布式文件系统浅谈
  16. [Pytorch系列-26]:神经网络基础 - 多个带激活函数的神经元实现非线性回归
  17. mate40怎么用鸿蒙系统,怎么使用鸿蒙系统?
  18. GOOGLE取消PR值是真是假?
  19. TI—CC3200【6】通过功放芯片的使能引脚消去POPO声
  20. linux 销毁 文件,彻底删除Linux文件的方法汇总

热门文章

  1. C4D R2023 for mac安装包+安装教程
  2. 强烈推荐几个 Java 大牛的公众号
  3. 相信我,SDRAM真的不难(九)----基于SDRAM缓存的串口传图综合实战(UART + SDRAM + VGA)
  4. 《设计去中心化预算系统》提案社区公示
  5. 饥饿营销?小米紧急叫停小米9发售:因备货不足
  6. 小马哥---高仿小米4 主板型号H71T 刷机拆机主板图与开机识别图 v009标贴 15年版本
  7. 事务和事务的隔离级别
  8. Android插拔usb亮屏流程
  9. python之变量的定义及使用
  10. 电脑数据突然不见了怎么办?如何恢复丢失的文件