Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

vue-screen-size

Package Overview
Dependencies
Maintainers
2
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vue-screen-size

Get easy and reactive access to the width and height of your screen.

  • 2.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

vue-screen-size

Get easy and reactive access to the width and height of your screen.

NPM Version NPM Downloads License Tweet

Vue 3 Support

Vue 3 is supported from v2.0.0 and beyond (current master). To use vue-screen-size with Vue 2, use v1.0.1.

Install

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>

About

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.

Variables

nametypedescription
$vssWidthNumberThe width of your screen
$vssHeightNumberThe height of your screen
$vssEventObjectThe event object data from the resizing event.

Methods

methodparametersdescription
$vssDestroyListenernoneForce the removal of the attached event listener

Development

# 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

Other

Go ahead and fork the project! Submit an issue if needed. Have fun!

License

MIT

Keywords

FAQs

Package last updated on 18 Mar 2023

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc