Nuxt:Vuex在vuejs组件外部提交或调度消息

时间:2018-10-31 16:20:38

标签: vue.js vuejs2 vuex nuxt.js

我在nuxt中有一个要连接到Websocket的应用程序,我看到了一些示例,其中用于接收消息的回调位于组件内部,但我认为并不理想,我想将回调置于我的内部商店,目前我的代码是这样的

//I'm using phoenix websocket
var ROOT_SOCKET = `wss://${URL}/socket`;

var  socket = new Socket(ROOT_SOCKET);
socket.connect()
var chan = socket.channel(`connect:${guid}`); 

chan.join();
console.log("esperando mensj");

chan.on("translate", payload => {
  console.log(JSON.stringify(payload));
  <store>.commit("loadTranslation",payload) //<- how can I access to my store?
})

chan.onError(err => console.log(`ERROR connecting!!! ${err}`));


const createStore = () => {
  return new Vuex.Store({
   state: {},

   mutations:{
    loadTranslation(state,payload){...}
   },


....
})}

如何访问自己商店文件中的商店并进行提交???可能吗?... 我知道有一个vuex插件,但我对文档没有真正的了解,我更愿意在没有该插件的情况下进行构建 https://vuex.vuejs.org/guide/plugins.html

谢谢你们...希望您能帮助我...

1 个答案:

答案 0 :(得分:0)

您可以在nuxt插件https://nuxtjs.org/guide/plugins/

中进行操作
export default {
  plugins: ['~/plugins/chat.js']
}

// chat.js
export default ({ store }) => {
   your code that use store here
}