<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
相关推荐
+VX:Fegn08954 小时前
计算机毕业设计|基于springboot + vue蛋糕店管理系统(源码+数据库+文档)半个落月4 小时前
LangChain.js Agent Memory 实战(下):用 Milvus 构建可检索的长期记忆半个落月4 小时前
LangChain.js Agent Memory 实战(上):从内存对话、文件持久化到截断与摘要Nicander5 小时前
我给 Excalidraw 做了一个本地工作区:DrawSpacelinux_cfan7 小时前
17 · 引擎适配器全景:HLS/DASH/Vimeo/Mux/Cast计算机魔术师7 小时前
烧掉2780亿美元还不够?OpenAI的资本豪赌让人头皮发麻IT_陈寒8 小时前
Java线程池用错参数,我的服务居然悄悄崩溃了卡布鲁9 小时前
React useMemo 与 useCallback 完全指南:原理、场景与避坑碳基修炼9 小时前
排查记:本地 devServer 是 http,浏览器却把 302 重定向升级成了 https步行cgn9 小时前
Spring p 命名空间注入详解