usePointer
リアクティブなポインターの状態。
デモ
{ "x": 0, "y": 0, "pointerId": 0, "pressure": 0, "tiltX": 0, "tiltY": 0, "width": 0, "height": 0, "twist": 0, "pointerType": null, "isInside": false }
基本的な使用方法
js
import { usePointer } from '@vueuse/core'
const { x, y, pressure, pointerType } = usePointer()
コンポーネントの使用
この関数は、`@vueuse/components`パッケージを介してレンダーレスコンポーネントバージョンも提供します。使用方法の詳細はこちら。
デフォルトでは、コンポーネントは`window`でポインターを追跡します。
vue
<template>
<UsePointer v-slot="{ x, y }">
x: {{ x }}
y: {{ y }}
</UsePointer>
</template>
要素内のローカル位置を追跡するには、`target="self"`を設定します。
vue
<template>
<UsePointer v-slot="{ x, y }" target="self">
x: {{ x }} y: {{ y }}
</UsePointer>
</template>
型宣言
型宣言を表示
typescript
export interface UsePointerState extends Position {
pressure: number
pointerId: number
tiltX: number
tiltY: number
width: number
height: number
twist: number
pointerType: PointerType | null
}
export interface UsePointerOptions extends ConfigurableWindow {
/**
* Pointer types that listen to.
*
* @default ['mouse', 'touch', 'pen']
*/
pointerTypes?: PointerType[]
/**
* Initial values
*/
initialValue?: MaybeRef<Partial<UsePointerState>>
/**
* @default window
*/
target?: MaybeRef<EventTarget | null | undefined> | Document | Window
}
/**
* Reactive pointer state.
*
* @see https://vueuse.dokyumento.jp/usePointer
* @param options
*/
export declare function usePointer(options?: UsePointerOptions): {
isInside: Ref<boolean, boolean>
pressure: Ref<number, number>
pointerId: Ref<number, number>
tiltX: Ref<number, number>
tiltY: Ref<number, number>
width: Ref<number, number>
height: Ref<number, number>
twist: Ref<number, number>
pointerType: Ref<PointerType | null, PointerType | null>
x: Ref<number, number>
y: Ref<number, number>
}
export type UsePointerReturn = ReturnType<typeof usePointer>