vue-simple-media

1.3.3 • Public • Published

vue-simple-media

an alternative to other mediaMatch plugins with a focus on simplicity and minimal module size (less than 1kb minified)

use

install

This plugin requires Vue 2.6 or greater.

npm install vue-simple-media

Vue.use(media) will use the default breakpoints (shown below)

To specify your own media queries:

Vue.use(media, {
  mobile: 'screen and (max-width: 768px)',
  desktop: 'screen and (min-width: 768px)'
})

Note: if sourcing this plugin from a browser script tag, put breakpoints on window.breakpoints before this plugin loads

Keys used will then be available on the $media object.

$media global

  • this.$media.current - provides an array of the currently matched media
  • this.$media.KEY - provides a boolean of whether this specified media is currently matched

Example:

if (this.$media.desktop) // do stuff

v-breakpoint directive

The function provided to the directive is called whenever media changes are detected.

The callback is given the element and $media.current as its parameters.

Example:

<div v-breakpoint="mediaChangeCallback"></div>

mediaChangeCallback(element, currentMediaList) {
  if (currentMediaList.includes('desktop')) {
    element.style.color = 'red'
  }
}

Readme

Keywords

none

Package Sidebar

Install

npm i vue-simple-media

Weekly Downloads

11

Version

1.3.3

License

MIT

Unpacked Size

9.99 kB

Total Files

6

Last publish

Collaborators

  • pearofducks