ecmascript-6 - 访问组件 vuejs 之外的商店

标签 ecmascript-6 vue.js vuejs2 vue-component vuex

我有一个用于配置我的 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

但是我的appsetting总是返回undefined

我错过了什么?

商店:

应用程序.js

const state = {
  appsetting: appsetting,
}

export {
  state 
}

getter.js

const appsetting = state => state.appsetting

export {
  appsetting
}

索引.js

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

当我打印 store.getters 的值时,它返回:

{
  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

关于ecmascript-6 - 访问组件 vuejs 之外的商店,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47571543/

相关文章:

javascript - 打破 promise 链的好方法是什么?

node.js - 如何将 Heroku 生成的服务器端口应用到我的前端 Vue.js 应用程序?

javascript - 使用 vue.js 从行发布数据

node.js - 使用 vue cli webpack 后如何部署 Vue 应用

javascript - ES6 特性 : How are Template Strings useful?

javascript - 字符串的展开运算符

javascript - 即使不使用 ES6 箭头函数,它们是否仍然在 "this"上关闭?

javascript - Vue 和 Vuex 在 store 模块内进行 Axios 操作

vue.js - 我的应用程序在 Vue CLI 2 到 3 更新后无法编译

javascript - Event_Bus vue 变量访问单文件组件 Vue.js - Laravel Mix