An automatic storage plugin for Vue2, persist the data with localStorage.
Vue.js 2.x
IE9 +
Obey the following:
name
field.v-for
.yarn add vue-auto-storage
main.js
import Vue from "vue";
import App from "./App.vue";
import AutoStorage from "vue-auto-storage";
Vue.use(AutoStorage);
// or with options
// Vue.use(AutoStorage, { debounce: 100 });
new Vue({
render: (h) => h(App),
}).$mount("#app");
Add autoStorage
filed to Vue component's options object, declare the keypath of data
you want to persist.
export default {
name: "ComponentName",
autoStorage: ["a.b", "c.0.d", "f"],
data() {
return {
a: { b: "" },
c: [{ d: "" }, { e: "" }],
f: "",
};
},
created() {},
};
Use in TypeScript:
import { Component, Vue } from "vue-property-decorator";
@Component({
autoStorage: ["a.b", "c.0.d", "f"],
})
export default class MyComponent extends Vue {
private a = { b: "" };
private c = [{ d: "" }, { e: "" }];
private f = "";
}
If you want persist an array's first item, use array.0
instead of array[0]
, why?
Function | Description | Parameters Type | Example |
---|---|---|---|
clear(key) | Clear storage. If no parameters, clear all AutoStorage cache. | String , N/A |
this.$autoStorage.clear("a.b") |
Property | Description | Type | Default |
---|---|---|---|
debounce | Debounce time of watchers, unit: ms . |
Number |
300 |
storage | Any object following the Storage protocol. | Object more |
localStorage |
Stay tuned for more configurations.
yarn dev
yarn build:lib
yarn test
MIT © zh-rocco