Ecmascript 6 访问组件vuejs外部的存储
我有一个用于配置OpenID连接身份验证的文件Ecmascript 6 访问组件vuejs外部的存储,ecmascript-6,vue.js,vuejs2,vue-component,vuex,Ecmascript 6,Vue.js,Vuejs2,Vue Component,Vuex,我有一个用于配置OpenID连接身份验证的文件 export const authMgr = new Oidc.UserManager({ userStore: new Oidc.WebStorageStateStore(), authority: **appsetting.oidc** }) 我想访问我的状态以获取appsetting的值 我这样做: import store from './store' const appsetting = () => store.gett
export const authMgr = new Oidc.UserManager({
userStore: new Oidc.WebStorageStateStore(),
authority: **appsetting.oidc**
})
我想访问我的状态以获取appsetting的值
我这样做:
import store from './store'
const appsetting = () => store.getters.appsetting
但是我的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
的值时,它返回以下内容:
{
return __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].getters;
}
否实际存储对象尝试导入带花括号的“存储”
import {store} from '../store/index'
store.getters.appSettings
另一个选项是从vue属性访问
import Vue from 'vue'
Vue.store.getters.appSettings
appsetting
getter是任何存储模块的一部分吗?是的,它是模块的一部分可以发布存储模块吗?如何导入index.js
?如何访问嵌套模块的getter(以及传递参数)的示例是const-hasTextAutomationEnabled=store.getters['account/hasFeature']('text-automation')代码>(您通常可以使用点表示法,但由于模块是用正斜杠“/”引用的,因此通过带方括号的数组语法更容易获取属性。如果getter没有参数,请不要将“(param)”放在末尾。)任何人都可以解释为什么我们需要使用花括号?使用store周围的花括号是因为它不是默认导出。如果是默认导出,则不使用花括号。在这个例子中,OP使用了export{store}而不是export default store第一个很好用,但是Vue.store.getters.appSettings
一个似乎不适合我,奇怪。。。