一、创建countDown.vue(倒计时组件):
<template><span :endTime="endTime" :endText="endText"><slot>{{content}}</slot></span>
</template><script>export default {data(){return {content: '',}},props:{//接收父组件的数据endTime:{type:String,default:''},endText:{type:String,default:'活动已结束'},},watch: {//监听时间的变化endTime() {this.countdowm(this.endTime)}},mounted () {this.countdowm(this.endTime)},methods: {countdowm(timestamp){let self = this;let timer = setInterval(function(){let nowTime = new Date();let endTime = new Date(timestamp * 1000);let t = endTime.getTime() - nowTime.getTime();if(t>0){let day = Math.floor(t/86400000);let hour=Math.floor((t/3600000)%24);let min=Math.floor((t/60000)%60);let sec=Math.floor((t/1000)%60);hour = hour < 10 ? "0" + hour : hour;min = min < 10 ? "0" + min : min;sec = sec < 10 ? "0" + sec : sec;let format = '';if(day > 0){format = `${day}天${hour}小时${min}分${sec}秒`;}if(day <= 0 && hour > 0 ){format = `${hour}小时${min}分${sec}秒`;}if(day <= 0 && hour <= 0){format =`${min}分${sec}秒`;}self.content = format;}else{clearInterval(timer);self.content = self.endText;}},1000);}}}
</script>
二、vue倒计时组件的使用方法(父组件里面):
<template><count-down :endTime="endTime" :endText="endText " />
</template><script>
import countDown from '@/components/countDown'//引入路径,可更改export default {data() {return{endTime:new Date("2022/04/18 08:00:20").getTime() / 1000 +  ' ',//  console.log(endTime)=>得到毫秒  1658030420 可在方法里面放入后台数据,new Date('放后台数据').getTime() / 1000 +  ' ',但要记得调用方法endText:'',}},components: {countDown},
}
</script>

说明一下:

1)endTime是一个时间戳,而且是字符串数据类型,需要处理下let endTime = new Date("2022/04/18 08:00:20").getTime() / 1000 +  ' '2)endText是倒计时结束显示的内容
三、vue倒计时组件效果如下:

Vue实现倒计时组件(可自定义时间倒计时功能的组件):相关推荐

  1. js实现倒计时,定时器--完成时间倒计时

    js实现倒计时,定时器–完成时间倒计时 //每秒刷新一次 setInterval(function showtime() {//结束时间var endTime = document.getElemen ...

  2. 组件分享之前端组件——用于自定义表单的前端组件form-create

    组件分享之前端组件--用于自定义表单的前端组件form-create 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各 ...

  3. 自定义圆形倒计时Android,Android自定义View倒计时圆

    本文实例为大家分享了Android自定义View倒计时圆的具体代码,供大家参考,具体内容如下 创建attr 创建DisplayUtil 类 import android.content.Context ...

  4. html 最新计算倒计时,javascript实时计算时间倒计时

    我们在开发中接愿目的那前机专容图缩近上意对这些端制门经常遇到需要实时展示倒计时时间在页面中:我们此时需要后端返回一个剩余的时间值(一般精确到毫秒值):通过这个值再来实时判断体朋几一级发等点确层数框的很 ...

  5. Vue.js父与子组件之间传参 父向子组件传参   例子:App.vue为父,引入componetA组件之后,则可以在template中使用标签(注意驼峰写法要改成componet-a写法,因为ht

    Vue.js父与子组件之间传参 父向子组件传参 例子:App.vue为父,引入componetA组件之后,则可以在template中使用标签(注意驼峰写法要改成componet-a写法,因为html对 ...

  6. 小程序 制作自定义弹层 添加弹层显示和隐藏动画 父组件与子组件(自定义组件)之间传值

    0.说明与效果 本文打算用一个具体的例子,总结下这些开发过程中学习到的知识: 1.制作自定义组件,并在页面中引用 2.自定义组件的内容是一个表单弹层,添加弹层在弹出和隐藏时的动画 3.展示父组件与子组 ...

  7. 【uniapp前端组件】自定义车牌键盘

    自定义车牌输入键盘–车牌键盘 简介 本组件根据自定义万能键盘(数字键盘.身份证键盘.带小数点数字键盘.车牌键盘)升级而来,老组件代码有点看不懂了,哈哈哈哈.另外数字键盘.身份证键盘.小数点数字键盘un ...

  8. vue\uniapp自定义活动倒计时组件

    vue\uniapp自定义活动倒计时组件 效果 调用组件时传递的 timeData的属性type_id:名称,begin_time:开始时间(时间戳)end_time:结束时间(时间戳) 组件代码 & ...

  9. jquery倒计时插件可自定义多个倒计时间

    jquery倒计时插件设置多个自定义倒计时时间,任意设置天.小时.分钟.秒倒计时间功能. 查看演示>> <!DOCTYPE html PUBLIC "-//W3C//DTD ...

最新文章

  1. java中的访问修饰符 (2013-10-11-163 写的日志迁移
  2. C++学习-环境配置
  3. HDU - 1527 取石子游戏(威佐夫博弈)
  4. javaScript常见的五种数组去重(转载)
  5. 安徽计算机技术学院蚌埠,安徽蚌埠技师学院2021年招生简章
  6. csrss.exe介绍
  7. ui设计app设计风格有哪些?ui设计app界面设计流程是什么?
  8. 【手写源码-设计模式11】-享元模式-基于打麻将场景
  9. [学习][笔记]C++/WinRT入门 01Hello world
  10. vue打包后在ie浏览器下访问报语法错误
  11. 三次改变世界、却被无情出局的程序员
  12. Linux内核升级(降级)
  13. 如何实现微信和淘宝的扫码登录
  14. HttpWebRequest 无法连接到远程服务器
  15. LeetCode 1348. 推文计数
  16. NLPCC2017 | AISpeech Night学术交流晚宴等你来!
  17. Kaggle下载数据集时,手机收不到短信验证码解决方法--亲测有效
  18. 奇偶校验的快捷判断方法---按位异或
  19. 【4G模块】中移物联ML302 + GD32F407 使用支持MQTT协议AT指令接入阿里云物联网平台
  20. 从杀慢查询入手来预防 MySQL 雪崩的办法

热门文章

  1. python中浮点单精度用什么表示_不方便在numpy中使用单精度浮点
  2. 百趣代谢组学文献分享埃博拉病毒发病机制及组合生物标志物的发现
  3. 在 .NET6.0 中实现 Leaf-segment 分布式 ID 生成系统
  4. 爱、信任、责任、勇气、信念 -----《功夫熊猫》观感
  5. 2022美国大学生数学建模竞赛(美赛)A题 思路建模
  6. 知识点9--Docker容器的数据卷
  7. 挣值管理名词(EV、AC、PV、ETC、SPI、CPI等)及公式(系统集成项目管理工程师挣值管理)
  8. 什么能力很重要,但大多数人却没有?
  9. Modern Microprocessors A 90-Minute Guide
  10. 创业的关键:顺势而为