
Security News
Meet Socket at Black Hat and DEF CON 2025 in Las Vegas
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
vue-screen-size
Advanced tools
Get easy and reactive access to the width and height of your screen.
Get easy and reactive access to the width and height of your screen.
Vue 3 is supported from v2.0.0
and beyond (current master
). To use vue-screen-size
with Vue 2, use v1.0.1
.
yarn add vue-screen-size
Or you can include it through the browser at the bottom of your page:
<script src="https://unpkg.com/vue-screen-size/dist/vue-screen-size.min.js"></script>
Sometimes when building an app you need to have access to the screen's dimensions. Usually that's going to be done in the css using @media
- but sometimes you need to access that info right in your JavaScript.
The issue with this is you have to worry about adding event listeners and then removing them later. We wanted to just be able to import something quickly and then be able to forget about it later. So this mixin
does just that - just use Vue.use()
or mixins: [],
and you're off.
There is something to consider - where and how you include this library. There are two ways, make sure to be aware of the differences:
In this usage - your whole app - and every child component - has access to the $vssWidth
, $vssHeight
, and $vssEvent
variables. This is sorta pollutive though, as multiple instances of the mixin are initialized and it's kinda wasteful. The is due to the way Vue mixins are passed down to child components. You can read more about this here. The second example is recommended.
import { VueScreenSizeMixin } from 'vue-screen-size';
app.mixin(VueScreenSizeMixin);
// Access `this.$vssWidth`, `this.$vssHeight`, and `this.$vssEvent` anywhere in your app.
In this usage - the component you install it on will have access to the $vssWidth
, $vssHeight
, and $vssEvent
variables. This may be a bit more restrictive, but it's less wasteful and should give you better performance.
import { VueScreenSizeMixin } from 'vue-screen-size';
export default {
mixins: [VueScreenSizeMixin],
};
// Access `this.$vssWidth`, `this.$vssHeight`, and `this.$vssEvent` in your component.
name | type | description |
---|---|---|
$vssWidth | Number | The width of your screen |
$vssHeight | Number | The height of your screen |
$vssEvent | Object | The event object data from the resizing event. |
method | parameters | description |
---|---|---|
$vssDestroyListener | none | Force the removal of the attached event listener |
# Install dependencies
yarn
# Serve with hot reload
yarn dev
# Run the tests
yarn test
# Build demo page
yarn build:example
# Build library
yarn build:library
# Build everything and run tests
yarn build
Go ahead and fork the project! Submit an issue if needed. Have fun!
2.1.0
FAQs
Get easy and reactive access to the width and height of your screen.
The npm package vue-screen-size receives a total of 2,231 weekly downloads. As such, vue-screen-size popularity was classified as popular.
We found that vue-screen-size demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
Security News
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.