Nuxt: коммит или отправка сообщения Vuex вне компонента vuejs - PullRequest
0 голосов
/ 31 октября 2018

У меня есть приложение в nuxt, которое я хочу подключить к веб-сокету, я видел примеры, когда обратный вызов для получения сообщений размещается внутри компонента, но я не считаю идеальным, я хотел бы разместить обратный вызов внутри моего магазин, в настоящее время мой код примерно такой

//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 голосов
/ 31 октября 2018

Вы можете сделать это в плагине nuxt https://nuxtjs.org/guide/plugins/

export default {
  plugins: ['~/plugins/chat.js']
}

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