亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解vuex持久化插件解決瀏覽器刷新數(shù)據(jù)消失問題

 更新時間:2019年04月15日 11:22:09   作者:Lemoncool  
這篇文章主要介紹了詳解vuex持久化插件解決瀏覽器刷新數(shù)據(jù)消失問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

眾所周知,vuex的一個全局狀態(tài)管理的插件,但是在瀏覽器刷新的時候,內存中的state會釋放,通常的解決辦法就是用本地存儲的方式保存數(shù)據(jù),然后再vuex初始化的時候再賦值給state,手動存再手動取會覺得很麻煩,這個時候就可以使用vuex的插件vuex-solidification

插件地址: vuex-solidification , 歡迎star

插件原理

vuex有一個hook方法:store.subscribe((mutation, state) => {}) 每次在mutation方法執(zhí)行完之后都會調用這個回調函數(shù),返回執(zhí)行完畢之后的state

使用方法

安裝

npm install --save vuex-solidification

引入及配置

import Vue from 'vue'
import Vuex from 'vuex'
import count from './count/index.js';
import createPersistedState from 'vuex-solidification';

Vue.use(Vuex);

const store = new Vuex.Store({
  state: {
    count: {
      value: 0,
      num: 1
    },
    pos: 1
  }
  plugins: [ // 默認存儲所有state數(shù)據(jù)到localstorage
    createPersistedState()
  ]
});

插件參數(shù)說明

createPersistedState({options}) : Function

options里面可以有:

key: String 存儲到localStorage, sessionStorage 中對象的key,默認為vuex

local: Object 和 session: Object, 分別代表localStorage的配置和sessionStorage的配置

local 和 session 里面可以有: include: Array 和 exclude: Array

配置例子

createPersistedState({
  local: {
    include: ['count.value'] 
  }
})
/* 
  hook鉤子觸發(fā)之后,localstorage里面存儲的對象為:
  {
    count: {
      value: 0,
    }
  }
*/


createPersistedState({
  local: {
    exclude: ['count.value'] 
  }
})
/* 
  hook鉤子觸發(fā)之后,localstorage里面存儲的對象為:
  {
    count: {
      num: 1
    },
    pos: 1
  }
*/


createPersistedState({
  session: {
    include: ['count.value'] 
  }
})
/* 
  hook鉤子觸發(fā)之后,sessionstorage里面存儲的對象為:
  {
    count: {
      value: 0,
    }
  }
*/


createPersistedState({
  session: {
    exclude: ['count.value'] 
  }
})
/* 
  hook鉤子觸發(fā)之后,sessionstorage里面存儲的對象為:
  {
    count: {
      num: 1
    },
    pos: 1
  }
*/

createPersistedState({
  session: {
    include: ['count'] 
  },
  local: {
    include: ['pos']
  }
})
/* 
  hook鉤子觸發(fā)之后,
  sessionstorage里面存儲的對象為:
  {
    count: {
      value: 0,
      num: 1
    },
  }
  sessionstorage里面存儲的對象為:
  {
    pos: 0
  }
*/

代碼例子

Check out the example on CodeSandbox.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論