<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
相关推荐
Stringzhua1 小时前
Vue数据的变更操作与表单数据的收集【6】万少1 小时前
可可图片编辑 HarmonyOS 上架应用分享你的人类朋友1 小时前
git常见操作整理(持续更新)无羡仙1 小时前
Webpack 核心实战:从零搭建支持热更新与 Babel 转译的现代前端环境乐~~~2 小时前
el-date-picker type=daterange 日期范围限制你的人类朋友2 小时前
git中的Fast-Forward是什么?初遇你时动了情2 小时前
uniapp vue3 ts自定义底部 tabbar菜单JarvanMo2 小时前
天塌了?Flutter工程总监跑去苹果了?烛阴3 小时前
掌握 TypeScript 的边界:any, unknown, void, never 的正确用法与陷阱Jerry4 小时前
迁移到 Jetpack Compose