vuex-along
v1.2.13
Published
Automatically restore vuex state after refreshing the page
Downloads
302
Readme
English | 简体中文
Directory
Install
npm install vuex-along --save
# or
yarn add vuex-along
Usage
import createVuexAlong from 'vuex-along'
export default new Vuex.Store({
state:{...},
modules:{...},
plugins: [createVuexAlong()]
});
Now, the plugin has been in effect, and all state is stored to localStorage by default.
Set Options to meet the usage requirements
Example
import createVuexAlong from "vuex-along";
const moduleA = {
state: {
a1: "hello",
a2: "world",
},
};
const store = new Vuex.Store({
state: {
count: 0,
},
modules: {
ma: moduleA,
},
plugins: [
createVuexAlong({
//Set the collection name to avoid multi-project data conflicts with the same site
name: "hello-vuex-along",
local: {
list: ["ma"],
// Filter the module ma data, save the other to localStorage
isFilter: true,
},
session: {
// Save a1 in module ma to sessionStorage
list: ["ma.a1"],
},
}),
],
});
Options
VuexAlongOptions
| Field | Required | Type | Description | | ----------- | ------------ | -------- | ------------------------------------------------------------------------ | | name | no | String | Set the name of the local data collection, the default is vuex-along | | local | no | Object | LocalStorage configuration, see #WatchOptions | | session | no | Object | SessionStorage configuration, see #WatchOptions | | justSession | no | Boolean | Use only sessionStorage |
WatchOptions
| Field | Required | Type | Description | | --------- | ------------ | --------- | ------------------------------------------------------------------------------ | | list | yes | String [] | List of strings of attribute names or module names that need to be listened to | | isFilter | no | Boolean | Filter fields in list instead of saving |
Cleanup
window.clearVuexAlong(local = true, session = true):void;
clearVuexAlong() // localStorage and sessionStorage will be cleaned up
clearVuexAlong(true,false) // Just localStorage
clearVuexAlong(false,true) // Just sessionStorage
RunDemo
git clone https://github.com/boenfu/vuex-along.git
cd ./vuex-along
yarn run:demo
Tips
- Support
typescript
- Support
IE11
sessionStorage
data recovery takes precedence overlocalStorage
- The
key
of the top-level object that stores the content is fixed toroot