@sparing-software/vue-on-resize
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

Vue on resize

MIT license Downloads number JavaScript Style Guide

Vue plugin for resize handlers.

Reduce your old code:

mounted() {
  const resizeHandler = e => {
    // handler code
  }
  resizeHandler()
  
  const debouncedHandler = debounce(resizeHandler, 250)
  window.addEventListener('resize', debouncedHandler)
  this.$once('hook:beforeDestroy', () => {
    window.removeEventListener('resize', debouncedHandler)
  })
}

to simple:

mounted() {
  this.$onResize(width => {
    // ... handler code
  }).fire()
}

Installation

Install package in your project

$ npm install @sparing-software/vue-on-resize

Configuration

import Vue from 'vue'
import VueOnResize from '@sparing-software/vue-on-resize'

Vue.use(VueOnResize)

Examples

Simple usage:

mounted() {
  this.$onResize(width => {
    // ... handler code
  })
}

Immediately execute callback:

mounted() {
  this.$onResize(width => {
    // ... handler code
  }).fire()
}

Programmatically execute callback:

mounted() {
  const resizeHandler = this.$onResize(width => {
     // ... handler code
  }).fire()

  resizeHandler.fire()
}

Custom debounce time (default 250ms):

mounted() {
  this.$onResize(width => {
    // ... handler code
  }, 100)
}

Get more info about resize event:

mounted() {
  this.$onResize((windowWidth, windowHeight, event) => {
    // ... handler code
  })
}

Contributing

Want to help improve this plugin? Great!
Project is open-source so fork repo and join us!

License

MIT License © Sparing Interactive

Dependencies (0)

    Dev Dependencies (3)

    Package Sidebar

    Install

    npm i @sparing-software/vue-on-resize

    Weekly Downloads

    15

    Version

    1.1.1

    License

    MIT

    Unpacked Size

    9.57 kB

    Total Files

    8

    Last publish

    Collaborators

    • vladyslavprosolupovsparing
    • adrianklimek