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 相关文章推荐
jquery live()重复绑定的解决方法介绍
Jan 03 Javascript
JQuery中extend的用法实例分析
Feb 08 Javascript
javascript动态获取登录时间和在线时长
Feb 25 Javascript
javascript先序遍历DOM树的方法
Feb 27 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
May 11 Javascript
javascript实现页面滚屏效果
Jan 17 Javascript
js实现符合国情的日期插件详解
Jan 19 Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 Javascript
JS实现提示效果弹出及延迟隐藏的功能
Aug 26 Javascript
详解node登录接口之密码错误限制次数(含代码)
Oct 25 Javascript
Vue插件之滑动验证码用法详解
Apr 05 Javascript
js事件机制----捕获与冒泡机制实例分析
May 22 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
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
如何设置mysql允许外网访问
2013/06/04 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
php中引用符号(&amp;)的使用详解
2013/11/13 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
ppk谈JavaScript style属性
2008/10/10 Javascript
jquery左边浮动到一定位置时显示返回顶部按钮
2014/06/05 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
JS模拟的Map类实现方法
2016/06/17 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
微信小程序 引用其他js文件实现代码
2017/02/22 Javascript
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
angular多语言配置详解
2019/05/16 Javascript
解决VUE-Router 同一页面第二次进入不刷新的问题
2020/07/22 Javascript
[34:44]Liquid vs TNC Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
[55:03]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.20
2020/11/20 DOTA
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
基于python历史天气采集的分析
2019/02/14 Python
python3.7 使用pymssql往sqlserver插入数据的方法
2019/07/08 Python
django admin.py 外键,反向查询的实例
2019/07/26 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
Python 实现日志同时输出到屏幕和文件
2020/02/19 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
keras中的loss、optimizer、metrics用法
2020/06/15 Python
Python使用pyexecjs代码案例解析
2020/07/13 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
经管应届生求职信
2013/11/17 职场文书
销售团队激励口号
2014/06/06 职场文书
重大事项社会稳定风险评估方案
2014/06/15 职场文书
工作失误检讨书(经典集锦版)
2014/10/17 职场文书
停车场管理制度范本
2015/08/05 职场文书
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python