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 相关文章推荐
动态控制Table的js代码
Mar 07 Javascript
js 字符串操作函数
Jul 25 Javascript
jQuery团购倒计时特效实现方法
May 07 Javascript
js实现前端分页页码管理
Jan 06 Javascript
webpack踩坑之路图片的路径与打包
Sep 05 Javascript
JavaScript实现的斑马线表格效果【隔行变色】
Sep 18 Javascript
JS动态修改网页body的背景色实例代码
Oct 07 Javascript
vue实现导航栏效果(选中状态刷新不消失)
Dec 13 Javascript
js module大战
Apr 19 Javascript
javascript面向对象三大特征之多态实例详解
Jul 24 Javascript
JS闭包原理及其使用场景解析
Dec 03 Javascript
手把手教你从零开始react+antd搭建项目
Jun 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
PHP调用三种数据库的方法(2)
2006/10/09 PHP
PHP 中文处理技巧
2010/04/25 PHP
PHP中的array数组类型分析说明
2010/07/27 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
PHP5.4起内置web服务器使用方法
2016/08/09 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
PHP Cli 模式设置进程名称的方法
2019/06/12 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
jquery简单体验
2007/01/10 Javascript
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
可以浮动某个物体的jquery控件用法实例
2015/07/24 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
Ajax和Comet技术总结
2017/02/19 Javascript
Angularjs的$http异步删除数据详解及实例
2017/07/27 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
JavaScript函数apply()和call()用法与异同分析
2018/08/10 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
详解Vue3.0 + TypeScript + Vite初体验
2021/02/22 Vue.js
Python多进程编程技术实例分析
2014/09/16 Python
Python3随机漫步生成数据并绘制
2018/08/27 Python
Django CBV类的用法详解
2019/07/26 Python
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
Ibatis的核心配置文件都有什么
2014/09/08 面试题
中学生自我鉴定
2014/02/04 职场文书
在校大学生的职业生涯规划书
2014/03/14 职场文书
运动会入场口号
2014/06/07 职场文书
拉歌口号大全
2014/06/13 职场文书
教师听课学习心得体会
2016/01/15 职场文书