vue超时计算的组件实例代码


Posted in Javascript onJuly 09, 2018

需要对预约单进行超时计算,但是后台和客户端时间不能保证一定一直,所以后台返回客户提交时间和请求结束时间的时间差进行计算。

 效果如下(此处只是demo效果,所以有点丑。)

vue超时计算的组件实例代码

父页面

<template>
  <div>
    <div class="dateDiv" :key="index" v-for="(item,index) in TimeArray">
      <p>{{item.name}}</p>
      <dateComponent :index="index" :key="item.timeDif" ref="dateComponent" :dateTimeStamp="item.timeDif"></dateComponent>
      <el-button @click="delUnit(index)">删除</el-button>
    </div>
  </div>
</template>
<script>
import datajson from '../index/data.json'
import dateComponent from './dateComponent'
export default {
  name:'timestamp',
  components:{
    dateComponent
  },
  data(){
    return {
      TimeArray: datajson.timestamp.TimeArray
      /*
  "timestamp":{
   "TimeArray":[{
    "name":"预约单2",
    "timeDif":"855000"
   },{
    "name": "预约单2",
    "timeDif": "801000"
   },{
    "name": "预约单3",
    "timeDif": "95000"
   },{
    "name": "预约单4",
    "timeDif": "45000"
   },{
    "name": "预约单5",
    "timeDif": "495000"
   },{
    "name": "预约单6",
    "timeDif": "195000"
   }]
  }
      */
    }
  },
  methods:{
    delUnit:function (index) {
      this.TimeArray.splice(index,1)
    }
  }
}
</script>
<style scoped>
.dateDiv{
  display: inline-block;
  border: 1px solid #e5e5e5;
  width: 200px;
  height: 80px;;
}
</style>

超时计算组件 overtimeComponent.vue

<template>
  <div>
    <span>{{formatTimeStamp}}</span>
  </div>
</template>
<script>
export default {
props:["dateTimeStamp","index"],
name:'dateComponent',
data(){
  return {
    flag:false,
    formatTimeStamp:"",
    interval : ""
  }
},
mounted() {
  var difValue = parseInt(this.dateTimeStamp);
  this.formatTimeStamp = this.setResultStr(difValue)
  this.interval = setInterval(() => {
    difValue += 1000
    this.formatTimeStamp = this.setResultStr(difValue)
  }, 1000);
},
beforeDestroy (){
  clearInterval(this.interval)
},
methods:{
  setResultStr:function (difValue) {
    var day = Math.floor(difValue / 1000 / 60 / 60 / 24);//天
    difValue = difValue % (1000 * 60 * 60 * 24);
    var hour = Math.floor(difValue / 1000 / 60 / 60);//小时
    difValue = difValue % (1000 * 60 * 60);
    var min = Math.floor(difValue / 1000 / 60);//分钟
    difValue = difValue % (1000 * 60);
    var second = Math.floor(difValue / 1000);
    if(day === 0 && hour==0 && min == 0){
      return "超时:" + second + "秒"
    }else if(day === 0 && hour==0){
      return "超时:" + min + "分" + second + "秒"
    }else if(day === 0){
      return "超时:" + hour + "小时" + min + "分" + second + "秒"
    }else{
      return "超时:" + day + "天" + hour + "小时" + min + "分" + second + "秒"
    }
  }
}
}
</script>
<style scoped>
</style>

总结

以上所述是小编给大家介绍的vue超时计算的组件实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
IE6不能修改NAME问题的解决方法
Sep 03 Javascript
JavaScript中的类(Class)详细介绍
Dec 30 Javascript
Jsonp post 跨域方案
Jul 06 Javascript
jQuery表单验证功能实例
Aug 28 Javascript
深入解析JavaScript的闭包机制
Oct 20 Javascript
JS实现动态添加DOM节点和事件的方法示例
Apr 28 Javascript
浅谈webpack编译vue项目生成的代码探索
Dec 11 Javascript
Vue cli构建及项目打包以及出现的问题解决
Aug 27 Javascript
vue自定义switch开关组件,实现样式可自行更改
Nov 01 Javascript
从0搭建vue-cli4脚手架
Jun 17 Javascript
jQuery实现图片切换效果
Oct 19 jQuery
微信小程序scroll-view不能左右滑动问题的解决方法
Jul 09 Javascript
微信小程序自定义底部弹出框
Nov 16 #Javascript
详解vue中组件参数
Jul 09 #Javascript
微信小程序实现手指触摸画板
Jul 09 #Javascript
微信小程序canvas实现刮刮乐效果
Jul 09 #Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
Jul 09 #Javascript
js中Object.defineProperty()方法的不详解
Jul 09 #Javascript
微信小程序实现团购或秒杀批量倒计时
Nov 01 #Javascript
You might like
php 数学运算验证码实现代码
2009/10/11 PHP
php入门之连接mysql数据库的一个类
2012/04/21 PHP
详解PHP变量传值赋值和引用赋值变量销毁
2019/03/23 PHP
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
js动态改变select选择变更option的index值示例
2014/07/10 Javascript
js中的getAttribute方法使用示例
2014/08/01 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
基于javascript实现的快速排序
2016/12/02 Javascript
Vue通过input筛选数据
2020/10/26 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
Vue.directive使用注意(小结)
2018/08/31 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
python通过ElementTree操作XML获取结点读取属性美化XML
2013/12/02 Python
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
Python实现的Excel文件读写类
2015/07/30 Python
Ruby元编程基础学习笔记整理
2016/07/02 Python
对Python 简单串口收发GUI界面的实例详解
2019/06/12 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
python实现文件的分割与合并
2019/08/29 Python
Python序列对象与String类型内置方法详解
2019/10/22 Python
30行Python代码实现高分辨率图像导航的方法
2020/05/22 Python
python使用numpy中的size()函数实例用法详解
2021/01/29 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
HTML5 FormData 方法介绍以及实现文件上传示例
2017/09/12 HTML / CSS
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
村长贪污检举信
2014/04/04 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
机器人总动员观后感
2015/06/09 职场文书
微信小程序实现拍照和相册选取图片
2021/05/09 Javascript
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android