--- category: Elements --- # useWindowSize Reactive window size ## Usage ```vue ``` ## Component Usage ```vue ``` ## Type Declarations ```ts export interface UseWindowSizeOptions extends ConfigurableWindow { initialWidth?: number initialHeight?: number /** * Listen to window `orientationchange` event * * @default true */ listenOrientation?: boolean /** * Whether the scrollbar should be included in the width and height * Only effective when `type` is `'inner'` * * @default true */ includeScrollbar?: boolean /** * Use `window.innerWidth` or `window.outerWidth` or `window.visualViewport` * visualViewport documentation from MDN(https://developer.mozilla.org/zh-CN/docs/Web/API/VisualViewport) * @default 'inner' */ type?: "inner" | "outer" | "visual" } /** * Reactive window size. * * @see https://vueuse.org/useWindowSize * @param options * * @__NO_SIDE_EFFECTS__ */ export declare function useWindowSize(options?: UseWindowSizeOptions): { width: ShallowRef height: ShallowRef } export type UseWindowSizeReturn = ReturnType ```