<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
相关推荐
狗头大军之江苏分军3 小时前
Node.js 原生功能越来越强,我们是不是被 npm 玩坏了?独自破碎E3 小时前
TS7016: Could not find a declaration file for module ‘vue-router‘.解决办法仰望星空@脚踏实地3 小时前
DataKit js-yaml和follow-redirects组件依赖影响分析Mr_fang719404 小时前
iframe 导致 Vue Router go(-1) 无法正常返回问题解决方案Drift_Dream4 小时前
Node.js 第二课:用核心模块构建你的第一个服务器DEMO派4 小时前
首页图片懒加载实现方案解析用户952081611794 小时前
百度地图MapVThree Editor:地图编辑程序员龙语4 小时前
CSS 文本样式与阴影属性LYFlied4 小时前
【每日算法】LeetCode 152. 乘积最大子数组(动态规划)狼与自由4 小时前
excel 导入 科学计数法问题处理