Skip to content
This repository has been archived by the owner on Oct 2, 2020. It is now read-only.
/ vue-websocket Public archive

Simple websocket (socket.io) plugin for Vue.js

License

Notifications You must be signed in to change notification settings

icebob/vue-websocket

Repository files navigation

vue-websocket

Websocket plugin for VueJS. Support namespaces.

Install

NPM

You can install it via NPM.

$ npm install vue-websocket

Manual

Download zip package and unpack and add the vue-websocket.js file to your project from dist folder.

https://github.com/icebob/vue-websocket/archive/master.zip

Usage

Register the plugin

import VueWebsocket from "vue-websocket";
Vue.use(VueWebsocket);

or connect to other address:

Vue.use(VueWebsocket, "http://otherserver:8080");

You can pass options too:

Vue.use(VueWebsocket, "http://otherserver:8080", {
	reconnection: false
});

Use it in your components:

<script>
	export default {
		
		methods: {
		  // Emit the server side
		  this.$socket.emit("add", { a: 5 });    
		},

		socket: {
			// prefix: "/counter/",
			// namespace: "/counter",

			events: {

				// Similar as this.$socket.on("changed", (msg) => { ... });
				changed(msg) {
					console.log("Something changed: " + msg);
				}
				
				/*
				connect() {
					console.log("Websocket connected to " + this.$socket.nsp);
				},

				disconnect() {
					console.log("Websocket disconnected from " + this.$socket.nsp);
				},

				error(err) {
					console.error("Websocket error!", err);
				}
				*/

			}
		}
	};

</script>

Build

This command will build a distributable version in the dist directory.

npm run build

Test

npm test

Contribution

Please send pull requests improving the usage and fixing bugs, improving documentation and providing better examples, or providing some testing, because these things are important.

License

vue-touch-keyboard is available under the MIT license.

Contact

Copyright (C) 2016 Icebob

@icebob @icebob