<template>
<div class="timer">
<p>{{ formatTime }}</p>
<button @click="startTimer" v-if="!isTiming">开始计时</button>
<button @click="stopTimer" v-else>停止计时</button>
</div>
</template>
<script>
export default {
data() {
return {
isTiming: false,
time: 0,
timer: null
}
},
computed: {
formatTime() {
const minutes = Math.floor(this.time / 60)
const seconds = this.time % 60
return `${minutes}:${seconds < 10 ? '0' : ''}${seconds}`
}
},
methods: {
startTimer() {
this.isTiming = true
this.timer = setInterval(() => {
this.time++
}, 1000)
},
stopTimer() {
this.isTiming = false
clearInterval(this.timer)
}
}
}
</script>
<style>
.timer {
text-align: center;
font-size: 24px;
margin-top: 50px;
}
</style>
在Uni-app中实现计时器效果
蜕变菜鸟2024-08-27 17:46
相关推荐
西安小哥14 分钟前
破局与重生:大厂前端如何借力 AI 转型“超级全栈“sunly_44 分钟前
TypeScript总结:16、面向对象速查张元清1 小时前
React useInterval Hook:没有过期闭包的 setInterval (2026)MXN_小南学前端1 小时前
React超长文本域中实现“返回顶部”浮动按钮学习嵌入式的小周1 小时前
Notepad++8.8.7下载安装(附安装包)gs801401 小时前
解构 Cordis:面向“时空可组合性”的 TypeScript 元框架深度剖析Highcharts.js2 小时前
Highcharts大数据渲染模块Boost实战与参数最佳实践表岁岁种桃花儿2 小时前
Vue核心语法第一篇:Vue是什么?Highcharts.js2 小时前
数据可视化避坑指南 ——开发中常见图表错误与修复方案观无3 小时前
若依EasyExcel实现单元格合并