useDevicePixelRatio
Reactively track window.devicePixelRatio
NOTE: there is no event listener for
window.devicePixelRatio
change. So this function usesTesting media queries programmatically (window.matchMedia)
applying the same mechanism as described in this example.
Demo
Device Pixel Ratio:
pixelRatio: 1Zoom in and out (or move the window to a screen with a different scaling factor) to see the value changes
Usage
js
import { useDevicePixelRatio } from '@vueuse/core'
export default {
setup() {
const { pixelRatio } = useDevicePixelRatio()
return { pixelRatio }
},
}
import { useDevicePixelRatio } from '@vueuse/core'
export default {
setup() {
const { pixelRatio } = useDevicePixelRatio()
return { pixelRatio }
},
}
Component Usage
This function also provides a renderless component version via the
@vueuse/components
package. Learn more about the usage.
html
<UseDevicePixelRatio v-slot="{ pixelRatio }">
Pixel Ratio: {{ pixelRatio }}
</UseDevicePixelRatio>
<UseDevicePixelRatio v-slot="{ pixelRatio }">
Pixel Ratio: {{ pixelRatio }}
</UseDevicePixelRatio>
Type Declarations
typescript
/**
* Reactively track `window.devicePixelRatio`.
*
* @see https://vueuse.org/useDevicePixelRatio
* @param options
*/
export declare function useDevicePixelRatio({ window }?: ConfigurableWindow): {
pixelRatio: Ref<number>
}
export type UseDevicePixelRatioReturn = ReturnType<typeof useDevicePixelRatio>
/**
* Reactively track `window.devicePixelRatio`.
*
* @see https://vueuse.org/useDevicePixelRatio
* @param options
*/
export declare function useDevicePixelRatio({ window }?: ConfigurableWindow): {
pixelRatio: Ref<number>
}
export type UseDevicePixelRatioReturn = ReturnType<typeof useDevicePixelRatio>
Source
Contributors
Anthony Fu
Antério Vieira
Waleed Khaled
wheat
vaakian X
Shinigami
Alex Kozack
Konstantin Barabanov