首页 > 其他分享 >自定义指令-倒计时

自定义指令-倒计时

时间:2024-01-17 16:35:47浏览次数:22  
标签:el updateCountdown const 自定义 倒计时 remainingTime 指令 endDate Math

1、directive/time.js
const vueTime = (Vue) => { Vue.directive('time', { bind(el, binding, vnode) { const endDate = binding.value; // 倒计时结束时间戳,毫秒 let timer = null; function updateCountdown() { const now = new Date().getTime(); if (now > endDate) { el.textContent = '00:00:00'; return; } const remainingTime = Math.floor((endDate - now) / 1000); const hours = Math.floor(remainingTime / 3600); const minutes = Math.floor((remainingTime % 3600) / 60); const seconds = remainingTime % 60; el.textContent = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`; } timer = setInterval(updateCountdown, 1000); // 清除定时器 vnode.context.$once('hook:beforeDestroy', () => { clearInterval(timer); }); // 立即执行一次以显示初始值 updateCountdown(); }, }); }; export default vueTime;

2、在main.js中全局引入time.js
3、使用:

<template>
  <div>
          <i v-time="1800000"></i>
  </div>
</template>

 

标签:el,updateCountdown,const,自定义,倒计时,remainingTime,指令,endDate,Math
From: https://www.cnblogs.com/chicidol/p/17970334

相关文章

  • Gin 控制器的继承,自定义方法
    Gin控制器的继承,自定义方法1我们想直接获取到int类型的数据怎么办/* 当我们获取Get参数时都时获取到的都是string类型,有时候我们想直接获取到int类型,我们就需要转换,如果需要转换的地方多了也会很麻烦, 那我们可以怎么办 解决办法很简单,我们可以写一个baseController来实......
  • FlashDuty Changelog 2023-12-18 | 值班管理、服务日历、自定义操作和邮件集成
    FlashDuty:一站式告警响应平台,前往此地址免费体验!值班管理UI交互优化【个人日程】从头像下拉菜单调整到值班列表页面,快速查看个人值班日程【值班列表】支持原地预览最近一周值班情况,包括当前和下一阶段值班人【值班详情】支持日历模式与时间线模式切换,查看月度计划更方便......
  • Flink自定义Assigning Timestamps和Watermarks 使用Scal语言
    Flink自定义AssigningTimestamps和Watermarks使用Scal语言为了让eventtime工作,Flink需要知道事件的时间戳,这意味着流中的每个元素都需要分配其事件时间戳。这个通常是通过抽取或者访问事件中某些字段的时间戳来获取的。时间戳的分配伴随着水印的生成,告诉系统事件时间中的......
  • 倒计时1天|解锁「PolarDB开发者大会」正确打开方式
    1月17日 9:30-16:30北京·嘉瑞文化中心PolarDB开发者大会明天就要和大家就见面啦~大会参会指南现已出炉各位开发者们,请查收~......
  • ES--自定义分词器
    默认的拼音分词器会将每个汉字单独分为拼音,而我们希望的是每个词条形成一组拼音,需要对拼音分词器做个性化定制,形成自定义分词器。 elasticsearch中分词器(analyzer)的组成包含三部分:characterfilters:在tokenizer之前对文本进行处理。例如删除字符、替换字符tokenizer:将文......
  • 自动化注册组件和自定义指令
    在我们封装全局组件和封装全局指令后,需要在main.ts中频繁进行全局注册,以下将对这块进行优化一、自动化注册组件我们在进行组件注册时,使用的是下面这种形式:app.component('组件名称',组件)这样我们可以使用循环组件的形式来对组件进行注册1.在components文件夹......
  • 无边框 自定义 wfp 钱包夹
    无边框自定义wfp钱包夹C#.net4.8wpfSqlServer2012消息队列Redis  银柱网-李银柱个人博客http://www.liyinzhu.com......
  • Django 使用swagger自定义自动生成类
    完整代码:https://gitee.com/mom925/django-system之前写的Django配置swagger(https://www.cnblogs.com/moon3496694/p/17657283.html)其实更多还是自己手动的写代码去书写接口文档,我希望它能更加的自动化生成出接口文档,所以我需要自己重写一些函数。安装所需的包,注册app,注册路由参考......
  • Peek ____Poke 博图指令
    PEEK指令 PEEK指令用来读取存储区数据,支持位、字节、字、双字、长字操作。PEEK指令将获取的数据值以返回值的方式赋值给对应的变量。1、指令语法新建SCL程序块FB1,在基本指令->移动操作->读/写存储区内,调用PEEK指令。PEEK指令的语法,如图1所示。EEK指令管脚参数说明:参......
  • 《标签篇》Vue.directives自定义指令v-my
    参考链接:https://www.runoob.com/vue2/vue-custom-directive.html自定义指令除了默认设置的核心指令(v-model和v-show),Vue也允许注册自定义指令。下面我们注册一个全局指令v-focus,该指令的功能是在页面加载时,元素获得焦点:<divid="app"> <p>页面载入时,input元素自......