本篇文章给大家带来的内容是关于vue组件的实例:vue组件如何实现倒计时?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
一、效果图:

二、CSS代码
立即学习“前端免费学习笔记(深入)”;
.box{
width: 300px;
height: 100px;
line-height: 100px;
margin: 100px auto;
background-color: #eee;
text-align: center;
font-size: 30px;
color: #666;
}.count-number{
color: red;
font-size: 30px;
font-weight: bold;
}三、HTML代码
mallcloud商城基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离vue的企业级微服务敏捷开发系统架构。并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提
四、javascript代码
// 倒计时组件
Vue.component('countdown', {
props: ['seconds', 'index'],
data: () => {
return {
timerCount: 0
}
},
mounted() {
this.timing();
},
methods: {
timing() {
let startTime = localStorage.getItem(`startTime${this.index}`);
let nowTime = new Date().getTime();
if(startTime) {
let surplus = this.seconds - parseInt((nowTime-startTime) / 1000, 10);
this.timerCount = surplus <= 0 ? 0 : surplus;
} else {
this.timerCount = this.seconds;
localStorage.setItem(`startTime${this.index}`, nowTime);
}
let timer = setInterval(() => {
if(this.timerCount > 0 && this.timerCount <= this.seconds) {
this.timerCount--;
} else {
localStorage.removeItem(`startTime${this.index}`);
clearInterval(timer);
}
}, 1000);
}
},
template: `倒计时 {{timerCount < 10 ? '0' + timerCount : timerCount}} 秒`
});
// Vue实例
new Vue({
el: '.wrap'
});
相关推荐:









