io.on('connection', socket => { })
此代码段为您提供实例'socket',但我目前需要在项目的其他位置使用该实例。
有没有办法通过正在运行的端口或类似方式访问它?
我正在尝试使用套接字更改Vuex(Vue.js)中的状态,我将其放入REST Api中的处理程序中。
答案 0 :(得分:2)
正如Reiner在评论中所述,您可以尝试将套接字保存到vuex本身,以便从您的所有项目中访问它。例如:
new Vue({
...
created () {
io.on('connection', socket => {
this.$store.dispatch('SET_SOCKET', {
getInstance () {
return socket
}
})
})
}
})
不要忘记定义'SET_SOCKET'
动作和突变。
然后,您就可以使用this.$store.state.socket.getInstance()
我使用getInstance()
因为如果我没记错,套接字会随着时间的推移而变异,而VueX不喜欢这样。