1.4 KiB
1.4 KiB
category
| category |
|---|
| State |
useLastChanged
Records the timestamp of the last change
Usage
import { useLastChanged } from '@vueuse/core';
import { nextTick } from 'vue';
const a = ref(0);
const lastChanged = useLastChanged(a);
a.value = 1;
await nextTick();
console.log(lastChanged.value); // 1704709379457
By default the change is recorded on the next tick (watch() with flush: 'post'). If you want to record the change immediately, pass flush: 'sync' as the second argument.
import { useLastChanged } from '@vueuse/core';
const a = ref(0);
const lastChanged = useLastChanged(a, { flush: 'sync' });
a.value = 1;
console.log(lastChanged.value); // 1704709379457
Type Declarations
export interface UseLastChangedOptions<
Immediate extends boolean,
InitialValue extends number | null | undefined = undefined,
> extends WatchOptions<Immediate> {
initialValue?: InitialValue;
}
export type UseLastChangedReturn =
| Readonly<ShallowRef<number | null>>
| Readonly<ShallowRef<number>>;
/**
* Records the timestamp of the last change
*
* @see https://vueuse.org/useLastChanged
*/
export declare function useLastChanged(
source: WatchSource,
options?: UseLastChangedOptions<false>,
): Readonly<ShallowRef<number | null>>;
export declare function useLastChanged(
source: WatchSource,
options: UseLastChangedOptions<true> | UseLastChangedOptions<boolean, number>,
): Readonly<ShallowRef<number>>;