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 相关文章推荐
ExtJs grid行 右键菜单的两种方法
Jun 19 Javascript
js 利用className得到对象的实现代码
Nov 15 Javascript
用Javascript获取页面元素的具体位置
Dec 09 Javascript
JS根据变量保存方法名并执行方法示例
Apr 04 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
Sep 19 Javascript
学习JavaScript设计模式之代理模式
Jan 12 Javascript
jQuery实现图片向左向右切换效果的简单实例
May 18 Javascript
javaScript 逻辑运算符使用技巧整理
May 03 Javascript
快速解决select2在bootstrap模态框中下拉框隐藏的问题
Aug 10 Javascript
自定义javascript验证框架示例【附源码下载】
May 31 Javascript
js实现动态时钟
Mar 12 Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
Nov 03 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
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
一段php加密解密的代码
2007/07/16 PHP
php dirname(__FILE__) 获取当前文件的绝对路径
2011/06/28 PHP
php缩小png图片不损失透明色的解决方法
2013/12/25 PHP
PHP判断变量是否为0的方法
2014/02/08 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
2016/04/12 PHP
php事务回滚简单实现方法示例
2017/03/28 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
2019/04/10 PHP
Laravel框架自定义分页样式操作示例
2020/01/26 PHP
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
7个让JavaScript变得更好的注意事项
2015/01/28 Javascript
window.onload使用指南
2015/09/13 Javascript
JavaScript利用HTML DOM进行文档操作的方法
2016/03/28 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
2016/10/11 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解
2019/03/28 Javascript
ligerUI的ligerDialog关闭刷新的方法
2019/09/27 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
Python中for循环控制语句用法实例
2015/06/02 Python
python检查序列seq是否含有aset中项的方法
2015/06/30 Python
解决Python requests 报错方法集锦
2017/03/19 Python
Python 中 Virtualenv 和 pip 的简单用法详解
2017/08/18 Python
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
Django跨域请求CSRF的方法示例
2018/11/11 Python
Python mutiprocessing多线程池pool操作示例
2019/01/30 Python
Python字典底层实现原理详解
2019/12/18 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
2020/06/06 Python
Python爬取某平台短视频的方法
2021/02/08 Python
HTML5移动开发图片压缩上传功能
2016/11/09 HTML / CSS
法人代表证明书
2014/09/18 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
2015年建筑工作总结报告
2015/05/04 职场文书
负责培养人意见
2015/06/05 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书