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 相关文章推荐
javascript椭圆旋转相册实现代码
Jan 16 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
Jan 24 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
Mar 03 Javascript
javascript实现输出指定行数正方形图案的方法
Aug 03 Javascript
js中的关联数组与普通数组详解
Jul 27 Javascript
微信小程序 slider 详解及实例代码
Jan 10 Javascript
JS控件bootstrap datepicker使用方法详解
Mar 25 Javascript
JavaScript Drum Kit 指南(纯 JS 模拟敲鼓效果)
Jul 23 Javascript
解决React Native端口号修改的方法
Jul 28 Javascript
微信小程序实现图片上传、删除和预览功能的方法
Dec 18 Javascript
JS实现关键词高亮显示正则匹配
Jun 22 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
Dec 10 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与XML、XSLT、Mysql的结合运用实现代码
2009/11/19 PHP
php for 循环语句使用方法详细说明
2010/05/09 PHP
PHP三层结构(上) 简单三层结构
2010/07/04 PHP
php开发过程中关于继承的使用方法分享
2011/06/17 PHP
php共享内存段示例分享
2014/01/20 PHP
CodeIgniter框架中_remap()使用方法2例
2014/03/10 PHP
php文件上传的两种实现方法
2016/04/04 PHP
php readfile()修改文件上传大小设置
2017/08/11 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
2020/11/23 PHP
区分JS中的undefined,null,&quot;&quot;,0和false
2007/03/08 Javascript
jQuery 插件 将this下的div轮番显示
2009/04/09 Javascript
JavaScript 密码强度判断代码
2009/09/05 Javascript
终于解决了IE8不支持数组的indexOf方法
2013/04/03 Javascript
jQuery避免$符和其他JS库冲突的方法对比
2014/02/20 Javascript
jQuery中的$.ajax()方法应用
2014/05/06 Javascript
javascript表单验证大全
2015/08/12 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
react 创建单例组件的方法
2018/04/26 Javascript
vue项目开发中setTimeout等定时器的管理问题
2018/09/13 Javascript
使用 vue 实现灭霸打响指英雄消失的效果附demo
2019/05/06 Javascript
vue cli4.0项目引入typescript的方法
2020/07/17 Javascript
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
Python线程同步的实现代码
2018/10/03 Python
Python中super函数用法实例分析
2019/03/18 Python
详解python中各种文件打开模式
2020/01/19 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
python入门之基础语法学习笔记
2020/02/08 Python
体育教学随笔感言
2014/02/24 职场文书
心理健康日活动总结
2014/05/08 职场文书
大学生标准自荐书
2014/06/15 职场文书
人才市场接收函
2015/01/30 职场文书
七年级思品教学反思
2016/02/20 职场文书
优秀范文:《但愿人长久》教学反思3篇
2019/10/24 职场文书
Pytorch 实现变量类型转换
2021/05/17 Python
Go 中的空白标识符下划线
2022/03/25 Golang
Win11局域网共享权限在哪里设置? Win11高级共享的设置技巧
2022/04/05 数码科技