vuex-persistedstate:如何将 getter 与 vuex-persistedstate 一起使用?
vuex-persistedstate: How can I use getters with vuex-persistedstate?
我用vuex-persistedstate。但是吸气剂不起作用。
我在 Vue.js Devtools 中检查了状态,状态存在。但是吸气剂没有数据。像这样。
Vue.js Devtools in Chrome
那么如何使用吸气剂呢?
index.js 在 Vuex 中
import createPersistedState from 'vuex-persistedstate'
Vue.use(Vuex)
export default new Vuex.Store({
modules: {
login,
segments,
itemList,
orderList
},
plugins: [
createPersistedState()
]
})
index.js in vue-router(我想用getters来检查登录状态)
import store from '@/store'
Vue.use(Router)
const ifAuthenticated = (to, from, next) => {
if (store.getters.loginStatus) {
next()
} else {
next({
path: '/login',
query: { redirect: to.fullPath }
})
}
}
login.js(在Vuex中存储模块)
const state = {
loginStatus: false,
email: '',
isStaff: false,
company: '',
token: ''
}
const getters = {
loginStatus: () => state.loginStatus,
email: () => state.email,
isStaff: () => state.isStaff,
company: () => state.company,
token: () => state.token
}
我认为您正在访问外部 state
对象。请尝试添加 state
作为函数参数:
const getters = {
loginStatus: (state) => state.loginStatus,
email: (state) => state.email,
isStaff: (state) => state.isStaff,
company: (state) => state.company,
token: (state) => state.token
}
我用vuex-persistedstate。但是吸气剂不起作用。 我在 Vue.js Devtools 中检查了状态,状态存在。但是吸气剂没有数据。像这样。
Vue.js Devtools in Chrome
那么如何使用吸气剂呢?
index.js 在 Vuex 中
import createPersistedState from 'vuex-persistedstate'
Vue.use(Vuex)
export default new Vuex.Store({
modules: {
login,
segments,
itemList,
orderList
},
plugins: [
createPersistedState()
]
})
index.js in vue-router(我想用getters来检查登录状态)
import store from '@/store'
Vue.use(Router)
const ifAuthenticated = (to, from, next) => {
if (store.getters.loginStatus) {
next()
} else {
next({
path: '/login',
query: { redirect: to.fullPath }
})
}
}
login.js(在Vuex中存储模块)
const state = {
loginStatus: false,
email: '',
isStaff: false,
company: '',
token: ''
}
const getters = {
loginStatus: () => state.loginStatus,
email: () => state.email,
isStaff: () => state.isStaff,
company: () => state.company,
token: () => state.token
}
我认为您正在访问外部 state
对象。请尝试添加 state
作为函数参数:
const getters = {
loginStatus: (state) => state.loginStatus,
email: (state) => state.email,
isStaff: (state) => state.isStaff,
company: (state) => state.company,
token: (state) => state.token
}