【发布时间】:2019-08-14 03:23:06
【问题描述】:
添加 vuex persist 插件后,我无法在路由器中存储。
const vuexPersist = new VuexPersist({
key: "vuex",
storage: localStorage
});
const store = new Vuex.Store({
state: {},
modules: {
alertStorage,
userStorage,
},
//plugins: [vuexPersist.plugin] <-- if I comment out this, its working
});
在路由器中:
router.beforeEach((to, from, next) => {
console.log(userStorage.state._user);
next();
}
注释掉行时的结果:
如果不是:
加上信息,这就是我的商店的样子:
import {Module, Mutation, VuexModule} from "vuex-module-decorators";
import {UserResponseDto} from "@/common/dto/user-response-dto";
import Utils from "@/common/utils";
@Module
export default class UserStorage extends VuexModule{
_user: UserResponseDto = {} as UserResponseDto;
@Mutation
protected loginUser(user: UserResponseDto) {
this._user = user;
}
@Mutation
protected logoutUser() {
this._user = {} as UserResponseDto;
}
get isLoggedIn() {
return !Utils.isEmpty(this._user);
}
get user():UserResponseDto{
return this._user;
}
}
【问题讨论】:
标签: typescript vue.js vuex