访问组件 vuejs 之外的商店

access store outside of component vuejs

我有一个用于配置 OpenID Connect 身份验证的文件

export const authMgr = new Oidc.UserManager({
  userStore: new Oidc.WebStorageStateStore(),
  authority: **appsetting.oidc**
})

我想访问我的状态以获取 appsetting 的值。

我这样做了:

import store from './store'

const appsetting = () => store.getters.appsetting

但我的应用设置总是返回未定义

我错过了什么?

商店:

app.js

const state = {
  appsetting: appsetting,
}

export {
  state 
}

getters.js

const appsetting = state => state.appsetting

export {
  appsetting
}

index.js

export default new Vuex.Store({
  actions,
  getters,
  modules: {
    app
  },
  strict: debug,
  plugins: [createLogger]
})

当我打印 store.getters 的值时,它 returns 这个:

{
  return __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].getters;
}

没有实际的商店对象

尝试用大括号导入'store'

import {store} from '../store/index'

store.getters.appSettings

另一种选择是从vue访问属性

import Vue from 'vue'

Vue.store.getters.appSettings