如何在 Nuxt 中从另一个访问一个 Vuex 状态?

Posted

技术标签:

【中文标题】如何在 Nuxt 中从另一个访问一个 Vuex 状态?【英文标题】:How to access one Vuex state from another in Nuxt? 【发布时间】:2020-10-26 13:43:34 【问题描述】:

我在 Nuxt store 目录中有两个 Vuex 存储。即使通过routeState,我也无法从另一家商店访问一家商店的状态。

商店1:index.js

export const state = () => (
    token: false
)
export const getters = 
export const mutations = 
export const actions = 

商店 2:api.js

export const state = () => (
    apiBase: 'https://myurl.com/'
)
export const getters = 
    getAPI: (state, rootState) => 
        // Need the state token from index.js here
    ,

export const mutations = 
export const actions = 

这里,

state 返回api.js 中的状态变量,即apiBase routeState 返回 api.js 中的 getter this 在 Vuex getter 中未定义,它不起作用

如何从 index.js 访问 state 或 getter?

【问题讨论】:

【参考方案1】:

rootState 在第三个参数中暴露在一个 getter 中。

const getters = 
  getApi: (state, getters, rootState) => 
    // Access the state token from index.js
    rootState.token
 

查看此页面了解更多详情Vuex Docs

【讨论】:

以上是关于如何在 Nuxt 中从另一个访问一个 Vuex 状态?的主要内容,如果未能解决你的问题,请参考以下文章

如何从另一个 vuex 模块访问 getter?

如何在swiftUI的父视图中从另一个视图访问变量?

如何使用 Nuxt 和 Jest 在 Vuex 商店测试中访问 this.app 和/或注入插件

在 Swift 中从另一个 ViewController 访问变量

在 Nuxt / Vuex 存储中定义 setter 和 getter 以进行 API 访问

在 vuex 操作中访问 this.$fireStore (Nuxt.js)