怎么在vue中利用moment实现一个倒计时效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
vue是什么软件
Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框架的区别是,使用Vue可以自底向上逐层应用,其核心库只关注视图层,方便与第三方库和项目整合,且使用Vue可以采用单文件组件和Vue生态系统支持的库开发复杂的单页应用。
<!-- 使用计算属性,传入截止日期 -->
<span>{{countDown(endDate)}}</span>
/*引入日期插件*/
import moment from 'moment'
export default {
data() {
return {
now: moment(),
endDate: '2019-05-07 08:20:00',
}
},
mounted() {
//定时更新当前时间
setInterval(()=>{
this.now = moment()
},1000),
//数字前补 0
// num传入的数字,n需要的字符长度
PrefixInteger(num, n) {
return (Array(n).join(0) + num).slice(-n);
}
},
computed: {
//计算属性,返回剩余时间
countDown(){
return function(endDate) {
let m1 = this.now
let m2 = moment(endDate)
var du = moment.duration(m2 - m1, 'ms'),
hours = du.get('hours'),
mins = du.get('minutes'),
ss = du.get('seconds');
if(hours<=0 && mins<=0 && ss<=0) {
return "已超时"
}else {
return this.PrefixInteger(hours,2) + ':' + this.PrefixInteger(mins,2) + ':' + this.PrefixInteger(ss,2)
}
}
}
},
}
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注天达云行业资讯频道,感谢您对天达云的支持。