| 12345678910111213141516171819202122232425262728 |
- import { ref, onMounted, onUnmounted } from "vue";
- // 组合式函数:返回实时更新的时间戳
- export function useRealtimeTimestamp() {
- // 初始化时间戳(当前时间)
- const timestamp = ref(Date.now());
- // 存储定时器ID,用于后续清除
- let timer = null;
- // 组件挂载时启动定时器
- onMounted(() => {
- // 每隔1000ms(1秒)更新一次时间戳
- timer = setInterval(() => {
- timestamp.value = Date.now(); // 实时更新
- }, 1000);
- });
- // 组件卸载时清除定时器(关键:防止内存泄漏)
- onUnmounted(() => {
- if (timer) {
- clearInterval(timer);
- timer = null;
- }
- });
- return { timestamp };
- }
|