将Vuex与Nuxt和Vue-Native-Websocket一起使用

时间:2018-07-25 15:55:13

标签: vue.js vuex nuxt.js

我正在尝试用来自websocket的数据填充我的vuex存储。我正在使用Nuxt。为了处理websocket,我使用了vue-native-websocket包。与websocket的连接成功,但无法提交到存储,它在每个套接字事件Uncaught TypeError: this.store[n] is not a function

上引发错误

根据Nuxt和vue-native-websocket文档,我使用它们的方式如下:

插件native-websocket.js:

import Vue from 'vue'
import VueNativeSock from 'vue-native-websocket'
import store from '~/store'

Vue.use(VueNativeSock, 'wss://dev.example.com/websocket/ws/connect', { store: store })

nuxt.config.js

  plugins: [
   {src: '~plugins/native-websocket.js', ssr: false}
],

建立连接后,我得出一个结论,即程序包已正确连接,所以这与存储有关,我无法弄清问题所在

UPD:经过一些解决方法后,我发现native-websocket.js中的日志存储返回

store() {
  return new __WEBPACK_IMPORTED_MODULE_1_vuex__["default"].Store({
   state: {...my store

并提交它返回__WEBPACK_IMPORTED_MODULE_2__store__.default.commit is not a function 因此,正如我所见,这是关于webpack的事情

1 个答案:

答案 0 :(得分:3)

您需要以其他方式导入商店,例如从插件的上下文中获取它。这里有些docs,但有些缺乏

$i=1;$par='';
Foreach($fields as $k=>$v)
{
$stn->bindParam (":param$i", $fields[v]) ;
$i++;
}