<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
相关推荐
szial18 分钟前
JavaScript 的 call、apply 和 bind:如何控制函数调用。小二30 分钟前
Go 泛型并发利刃:async 库深度评测——370K ops/s、零依赖、生产就绪CopyCode30 分钟前
Agent 开发不是模型训练:一个前端的入门认知吠品40 分钟前
HTTPS 真身:HTTP 套了层 TLSHighcharts.js43 分钟前
Highcharts动态图表与数据实时更新应用讲解JYeontu43 分钟前
实现一个「曲线滑块验证」功能Csvn44 分钟前
组件库(从 API 契约到 Headless 内核)deli0071 小时前
为什么最近邻路线总在绕远?2-opt 把 50 城 TSP 缩短了 20.9%guslegend1 小时前
底层数据设计:读写分离、分库分表与热点数据隔离Southern Wind1 小时前
AIAgent——第一章:本地 Agent 与 Vue 3 流式全栈实战