做了个 nuxtjs 的项目, 但是不知道要如何才能在 js 文件中引入 vuex, 上网找了下有一些是建议以导出 Vuex 实例的方式创建 store, 但是 nuxt 文档中又不建议这样做. 有人知道要怎样解决吗?
1
saberlove 2019-07-08 15:35:40 +08:00
你的这个 JS 文件写为一个 plugins
然后在 plugins 里面使用 export default ({ app, $axios, store, route, redirect }) => { socket.doSomeThing(()=>{ }) } |
2
saberlove 2019-07-08 15:35:58 +08:00
怎么发出去了。。
|
3
saberlove 2019-07-08 15:37:26 +08:00 1
这里有 store 对应 vuex
你直接使用 store.dispatch('socket/xxxx')就可以了 |
4
noe132 2019-07-08 16:55:35 +08:00
可以 hack 一下,从组件中获取到 store 后赋值到一个地方保存起来。
nuxt 创建的 store 实例并没有 exports 出来,所以没法直接 import |
5
noe132 2019-07-08 16:57:10 +08:00
对也可以写一个 plugin,在 plugin 执行的时候把 store 保存起来。
|
6
saberlove 2019-07-08 16:57:14 +08:00
@noe132 实例初始化完毕以后 nuxt 会在 window 全局注入$nuxt 通过$nuxt.$store 可以访问 store
但是这样不好 初始化完毕以前无法访问$nuxt |
9
guoyancheng1022 2021-04-07 10:34:10 +08:00
@saberlove 大佬,用你的方法在 js 中 console.log(store.state.user_id)查出来是空值,但我在 vue 组件中 this.$store.state.user_id 确实能取到值
|