关于nuxt改造问题

nuxt改造项目,在vuex a 模块中通过rootstate访问b模块的state,数据为空,但页面中该数据是有值的

在 Nuxt 中使用的 Vuex 是一个插件,它默认情况下使用了命名空间。这意味着在访问其他模块的状态时需要使用 rootState 属性来访问根状态。

如果您在 Vuex A 模块中尝试访问另一个模块 Vuex B 的状态,可以按照以下步骤进行:

  1. 确保在 Vuex B 模块中定义了需要访问的状态,并且已经通过 namespaced: true 设置了命名空间。
const state = {
  someData: 'some value'
}

const mutations = {
  // ...
}

const actions = {
  // ...
}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}
  1. 在 Vuex A 模块中使用 rootState 属性来访问 Vuex B 模块的状态。
const actions = {
  someAction({ rootState }) {
    console.log(rootState.b.someData)
  }
}

如果页面上该数据有值,那么您可以在浏览器控制台中输出 rootState 对象以查看是否存在命名空间和属性。如果 someData 属性没有出现在 rootState.b 中,则可以检查命名空间和属性名称是否正确,以及属性是否已在 B 模块中初始化。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^