1. vue-connection-listener

vue-connection-listener

vue-connection-listener

Vue event bus plugin listening for online/offline changes

screenshot

About

Whenever the navigator's connection status changes a 'connection' event is emitted with a boolean payload indicating the new state (online = true, offline = false).

Installation

 npm install --save vue-connection-listener

npm package link

Usage

main.js

 import Vue from "Vue";
import bus from "./bus"; // Event bus instance

Vue.prototype.$bus = bus; // Optional (but convenient)

import VueConnectionListener from "vue-connection-listener";
const connectionListener = new VueConnectionListener(bus); // Create instance (injecting our bus)

new Vue({
  el: "#app",
  render: h => h(App),
  created() {
    connectionListener.register();
  },
  destroyed() {
    connectionListener.unregister();
  }
});

Inside any component

 this.$bus.$on("connection", online => {
  alert(online ? "You are online 😄" : "You are offline 😞");
});

Notes

You need to import your own event bus and then inject it as a dependency.

Creating a bus could be as simple as creating a bus.js file with the following contents:

 import Vue from "vue";
export default new Vue();

For more info:

https://alligator.io/vuejs/global-event-bus/