Vue:在JS类中使用Vuex存储

时间:2020-07-27 19:51:15

标签: vuejs2 vuex

我有一个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();
    }
}
    

1 个答案:

答案 0 :(得分:0)

这就是我要做的。将套接字保留在单独的文件中。

socket.on('message', (data) => {
  store.commit('mutationName', data) // For mutations
  store.dispatch('actionName', data) // For actions
})

如果您的变异/动作是命名空间,则必须牢记这一点。