从Vuex商店中删除商品

时间:2018-06-21 13:44:58

标签: cookies vue.js vuex

我已经在用户登录时使用带有vuex-persistedstate(Cookie)的vuex来存储用户信息。 现在,我需要在用户注销时删除cookie或其中的一部分。

该插件具有“ removeItem”属性,但如何使用此功能或更一般的功能,如何从商店中删除某些东西。

我的代码:

import {Store} from 'vuex'
import createPersistedState from 'vuex-persistedstate'
import * as Cookies from 'js-cookie'
    //...
const store = new Store({
            state: {
                user: {},
                apitoken: {},
              ...
            },
            plugins: [
                createPersistedState({
                    storage: {
                        getItem: key => Cookies.get(key),
                        // Please see https://github.com/js-cookie/js-cookie#json, on how to handle JSON.
                        setItem: (key, value) =>
                            Cookies.set(key, value, { expires: 3, secure: true }),
                        removeItem: key => Cookies.remove(key)
                    }
                })
            ],
            mutations: {
                SET_USER(state, user) {
                    state.user = user;
                },
                SET_APITOKEN(state, apitoken) {
                    state.apitoken = apitoken;
                },
                LOGOUT(state, key) {
        //HERE I NEED SOME THING LIKE "removeItem(key)"
                    state.clean();
                },
            },
            actions: {
                logout(context){
                    context.commit('LOGOUT', 'apitoken');
                }
        });

谢谢您的帮助!

0 个答案:

没有答案