【问题标题】:Is it possible to create or update a plugin to the vuex store after initialization?是否可以在初始化后创建或更新插件到 vuex 存储?
【发布时间】:2022-11-22 03:34:43
【问题描述】:
我正在尝试在我的 Vue 项目中使用 websockets (socket-io),plugin 似乎是最好的方法。我的问题是我需要建立连接后用户登录是因为用户将指定他们要连接的后端服务器的 IP 地址。我看到的所有文档都要求将插件添加到商店作为初始化的一部分,这对我没有帮助,我需要在登录后添加或更新插件。
如果有另一种使用 websockets 的模式,我会洗耳恭听。谢谢!
【问题讨论】:
标签:
vue.js
websocket
socket.io
vuex
【解决方案1】:
正如documentation所说
Vuex 插件只是一个接收商店作为唯一参数的函数
它确实就这么简单。当我们查看 vuex constructor 时,我们看到它所做的只是调用插件数组中的每个方法,并提供 this 作为第一个也是唯一的参数。
所以你可以像平常一样创建你的商店,然后当你准备好时,你可以调用你的插件函数并将之前创建的商店实例传递给它。