最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

vue中倒计时组件的实例代码

来源:动视网 责编:小采 时间:2020-11-27 22:12:00
文档

vue中倒计时组件的实例代码

vue中倒计时组件的实例代码:子组件: <template> <span :endTime=endTime :callback=callback :endText=endText> <slot> {{content}} </slot> </span> </template> <script&g
推荐度:
导读vue中倒计时组件的实例代码:子组件: <template> <span :endTime=endTime :callback=callback :endText=endText> <slot> {{content}} </slot> </span> </template> <script&g


子组件:

<template> 
 <span :endTime="endTime" :callback="callback" :endText="endText"> 
 <slot> 
 {{content}} 
 </slot> 
 </span> 
</template> 
<script> 
 export default { 
 data(){ 
 return { 
 content: '', 
 } 
 }, 
 props:{ 
 endTime:{ 
 type: String, 
 default :'' 
 }, 
 endText:{ 
 type : String, 
 default:'已结束' 
 }, 
 callback : { 
 type : Function, 
 default :'' 
 } 
 }, 
 mounted () { 
 this.countdowm(this.endTime) 
 }, 
 methods: { 
 countdowm(timestamp){ 
 let self = this; 
 let timer = setInterval(function(){ 
 let nowTime = new Date(); 
 let endTime = new Date(timestamp * 1000); 
 let t = endTime.getTime() - nowTime.getTime(); 
 if(t>0){ 
 let day = Math.floor(t/800000); 
 let hour=Math.floor((t/3600000)%24); 
 let min=Math.floor((t/60000)%60); 
 let sec=Math.floor((t/1000)%60); 
 hour = hour < 10 ? "0" + hour : hour; 
 min = min < 10 ? "0" + min : min; 
 sec = sec < 10 ? "0" + sec : sec; 
 let format = ''; 
 if(day > 0){ 
 format = `${day}天${hour}小时${min}分${sec}秒`; 
 } 
 if(day <= 0 && hour > 0 ){ 
 format = `${hour}小时${min}分${sec}秒`; 
 } 
 if(day <= 0 && hour <= 0){ 
 format =`${min}分${sec}秒`; 
 } 
 self.content = format; 
 }else{ 
 clearInterval(timer); 
 self.content = self.endText; 
 self._callback(); 
 } 
 },1000); 
 }, 
 _callback(){ 
 if(this.callback && this.callback instanceof Function){ 
 this.callback(...this); 
 } 
 } 
 } 
 } 
</script>

父组件:

<count-down endTime="1590761620" :callback="callback" endText="已经结束了"></count-down> 
methods:{
callback:function(){
}
}

总结

以上所述是小编给大家介绍的vue中倒计时组件的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

文档

vue中倒计时组件的实例代码

vue中倒计时组件的实例代码:子组件: <template> <span :endTime=endTime :callback=callback :endText=endText> <slot> {{content}} </slot> </span> </template> <script&g
推荐度:
标签: 代码 倒计时 vue中
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top