美文网首页
vuex持久化vuex-persistedstate

vuex持久化vuex-persistedstate

作者: A_dfa4 | 来源:发表于2019-04-01 09:16 被阅读0次

    vuex-persistedstate 一个对 localstorage / sessionStorage 操作的vue插件

    vue-storage-watcher

    ### 安装

    ```js

    npm install --save vuex-persistedstate

    ```

    ### 配置使用

    * 在vuex初始化时候,作为组件引入。

    ```js

    import Vuex from "vuex";

    import createPersistedState from "vuex-persistedstate";

    const store = new Vuex.Store({

      // ...

      plugins: [createPersistedState()],

    });

    ```

    * 我在nuxt中使用

    ```js

    // nuxt.config.js

    plugins: [

        {src: "~/plugins/vuexPersistence.js", ssr: false}

    ]

    // vuexPersistence.js

    import createPersistedState from 'vuex-persistedstate'

    export default function ({store}) {

      createPersistedState({

        key:'HUODONG',

        reducer: (vuexState) => {

          return {

            signIn: vuexState.signIn  // store中的signIn模块

          }

        },

      })(store)

    }

    // 页面取值

    import { mapState } from 'vuex'

    computed: {

      ...mapState({

          signIn: state => state.signIn

      })

    }

    ```

    ### 自定义存储方式

    * vuex-persistedstate默认使用localStorage来固化数据,一些特殊情况要如何应对呢?(如:safari的无痕浏览模式)

    ```js

    //  需要使用sessionStorage的情况

    plugins: [

        persistedState({ storage: window.sessionStorage })

    ]

    ```

    ```js

    //  使用cookie的情况

    import persistedState from 'vuex-persistedstate'

    import * as Cookies from 'js-cookie'

    export default new Vuex.Store({

      // ...

      plugins: [

        persistedState({

          storage: {

            getItem: key => Cookies.get(key),

            setItem: (key, value) => Cookies.set(key, value, { expires: 7 }),

            removeItem: key => Cookies.remove(key)

          }

        })

      ]

    })

    ```

    [vuex-persistedstate](https://github.com/robinvdvleuten/vuex-persistedstate)

    [js-cookie](https://github.com/js-cookie/js-cookie)

    相关文章

      网友评论

          本文标题:vuex持久化vuex-persistedstate

          本文链接:https://www.haomeiwen.com/subject/lqrmbqtx.html