vue-reactive-persisted
v1.0.2
Published
Persist a reactive Vue object
Downloads
8
Maintainers
Readme
Vue Reactive Persisted
Persists a Vue reactive object in the browser's localStorage. Avoids loosing state between page reloads or when the browser is closed.
Inspired by vuex-persistedstate.
Usage
import { reactive } from "vue";
import persist from "vue-reactive-persisted";
const state = reactive({
message: "hello world",
count: 0
});
persist(state);
state.count++;
console.log(window.localStorage.getItem("reactive_persisted"));
// {"message":"hello world","count":1}
API
Persists a Vue reactive object
persist(object, options)
persists and returns the Vue reactive object:
object
must be the Vue reactive object to persistoptions
an object of options to configure the behavior:key
: the key to store the Vue reactive object under in localStorage (defaults toreactive_persisted
)paths
: an array of paths to partially persist, specified using using dot-notation. If no paths are given, the complete reactive object is persisted.
import { reactive } from "vue";
import persist from "vue-reactive-persisted";
const state = reactive({
message: "hello world",
count: 0,
nested: {
count: 0
}
});
persist(
state,
{
key: "custom_key",
paths: [
"message",
"nested.count"
]
}
);
state.message = "hey!";
state.count++;
state.nested.count++;
console.log(window.localStorage.getItem("custom_key"));
// {"message":"hey!","count":0,"nested":{"count":1}}
License
vue-reactive-persisted is released under the MIT License. See the bundled LICENSE file for details.