Vuejs-nuxt(s-s-r 模式)无法通过插件内部的 getter 获取 UserUUID。它显示未定义的 GetUserUUID
Posted
技术标签:
【中文标题】Vuejs-nuxt(s-s-r 模式)无法通过插件内部的 getter 获取 UserUUID。它显示未定义的 GetUserUUID【英文标题】:Vuejs-nuxt (s-s-r Mode) not able to get UserUUID through getter inside plugins. It shows undefined for GetUserUUID 【发布时间】:2021-01-07 04:19:46 【问题描述】:我在我的 vuejs-nuxt 项目中使用 s-s-r 模式。因此,每当我尝试调用套接字事件时,我都需要将用户 ID 从商店传递给该套接字。 GetUserUUID getter 在所有其他 API 中都能正常工作。但只有在从“plugin/socketio.js”文件调用的情况下才会失败。我需要一些帮助才能从 getter 中获取数据。
插件/socketio.js
export default async ( store, $axios ) =>
console.log(store.getters.GetUserUUID,"Current User UUID which is showing undefined");
function listenStock( channelName, eventName , callback)
console.log("callback",callback);
window.Echo.channel(channelName).listen(eventName, callback);
//Fetch user data
listenStock(
channelName: `BalanceUpdateEvent.$store.getters.GetUserUUID`,
eventName: "BalanceUpdateEvent"
,
( data ) =>
console.log(data, "socket data");
try
store.dispatch("setUserBalance", data.data.userBalance);
catch (ex)
console.log(ex);
);
nuxt.config.js
plugins: [
src: '~/plugins/socketio', mode: 'client'
]
echo:
plugins: ['~/plugins/socketio.js']
,
这个图片是console.log(store.getters)的结果,但是我需要访问GetUserUUID。
【问题讨论】:
【参考方案1】:请在 nuxt.config.js 中试试
export default
plugins: [
....
src: '~/plugins/socketio.js', mode: 'client' , // only on client side
...
]
在客户端运行你的插件
【讨论】:
在 nuxt.config.js 文件中,我也尝试使用“s-s-r: false”,但它对我不起作用。以上是关于Vuejs-nuxt(s-s-r 模式)无法通过插件内部的 getter 获取 UserUUID。它显示未定义的 GetUserUUID的主要内容,如果未能解决你的问题,请参考以下文章
Angular Universal (s-s-r) 错误:无法在视图目录中查找视图“索引”
将 Nuxt JS s-s-r 应用程序部署到 Google Cloud App Engine 标准