Files
stack/v1/packages/mosaic/framework/skills/vueuse-functions/references/useLastChanged.md
T

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>>;