Comments (13)
Originally posted this in #85 but I thought I'd post it here too in case anyone on the chain might find it useful.
Your mutations and actions can reference the root Vue instance via this._vm
. So, this is the method I've been using:
someAction(context, payload) {
this._vm.$socket.emit('someEvent', someData);
}
Avoids instantiating a new Vue instance every time you need to emit an event.
from vue-socket.io.
Temporarily we can use (new Vue()).$socket.emit()
. I know, it's ugly but is better than nothing.
from vue-socket.io.
While the (new Vue()).$socket.emit
workaround is working, I'm currently using this method:
in store.js
:
...snip...
state: {
io: {}
},
mutations: {
setSocket: (state, socket) => {
state.io = socket
}
}
...snip...
in App.vue
(or whatever root component you are using)
...snip...
import store from './store'
export default {
beforeCreate() {
store.commit('setSocket', this.$socket)
},
...snip...
That's how the $socket
object gets saved to Vuex so that you can access it via context.state.io
.
from vue-socket.io.
@gil0mendes my mutation breaks as soon as i add the hacky line to send the data down the wire and i'm getting a strange value is not a function
error.
I'm using vue 2.3.4, vuex 2.3.1 and vue-socket.io 2.1.1
May i'm doing something wrong or is it broken in the meantime? thanks
[types.MY_UPDATE] (state, { index, value }) {
state.slots[index].value = value
(new Vue()).$socket.emit('my_update', { index: value })
},
from vue-socket.io.
+1
from vue-socket.io.
+1
from vue-socket.io.
+1
from vue-socket.io.
+1
is this really not integrated?
from vue-socket.io.
+1
Any changes?
from vue-socket.io.
+1
from vue-socket.io.
@joernroeder Hey, the error is really strange. Can you test for me throw the event on an action, instead? Btw, that kind of things is more recommended use on actions.
from vue-socket.io.
+1
from vue-socket.io.
@Dverlik your approroach looks simple and clean – going to use it in the future. thanks for sharing!
from vue-socket.io.
Related Issues (20)
- NPM package source code differences
- The npm package (dist/vue-socketio.js) not synchronized github(dist/vue-socketio.js)
- Anybody get this work with antfu/vitesse boiler plate? HOT 1
- How to use the specified socket.io version
- Pinia Support HOT 2
- connect function dos not trigger HOT 1
- Resolve name conflicts when 2 npm modules have component with same $socket
- Multiple socket connections
- Reconnect event does not to be trigger
- The `Connection` event didn't works for WSS. But it works for WS.
- Feature request: Emit to socket from inside vuex store's mutations, actions functions HOT 1
- New socket instance created if vuex’s store mutation function called inside socket
- Examples not opening
- 后期会支持vue3吗 HOT 1
- can't receive emit from server,my problem?
- Upgrade SocketIO version for FlaskSocketIO compatibility
- Update query param for socket.io reconnect HOT 1
- vue-socket.io 提供Vue3支持方案
- 我这可以支持Vue3哦!快来看~
- Here is a package that may help you if you want to use over Vue3.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vue-socket.io.