useLastChanged 是 VueUse 库中的一个函数,用于追踪一个值或依赖项最近一次发生变化的时间戳。
具体来说,useLastChanged 函数接收一个值或依赖项作为参数,并返回一个响应式的引用(Ref)。这个引用中保存着最近一次值或依赖项发生变化的时间戳。
每当传入的值或依赖项发生变化时,useLastChanged 会自动更新引用中的时间戳。你可以通过读取该引用的值来获取最近一次变化的时间戳。
这个函数在许多场景中都很有用,比如在监控值的变化频率、实现自定义的时间戳逻辑等方面。它提供了一种简单而便捷的方式来跟踪值或依赖项的变化时间点。
简单实现
import { ref, watch } from 'vue-demi'
export function useLastChanged<T>(value: T) {
const lastChanged = ref<number>(0)
watch(value, () => {
lastChanged.value = Date.now()
})
return lastChanged
}