我有一个Vue应用程序,正在使用Socket.io进行实时连接。我决定将所有Socket调用放入其自己的socket.js
类中,并将该类导入到我的Vue组件中。我已经导入了商店,但是我希望能够将数据保存到此js文件中的Vuex商店中,但是我不知道如何在.vue文件之外进行保存。
AppSocketIO.js
import store from '../../../store';
class AppSocketIO {
init() {
this.socketIO = new AppSocketIO('kjiu887', {
// run a mutation to save data to the Vuex store
});
}
VueComponent
mounted() {
this.initSocket();
},
methods: {
initSocket: function() {
const socket = new AppSocketIO();
}
}
答案 0 :(得分:0)
这就是我要做的。将套接字保留在单独的文件中。
socket.on('message', (data) => {
store.commit('mutationName', data) // For mutations
store.dispatch('actionName', data) // For actions
})
如果您的变异/动作是命名空间,则必须牢记这一点。