Vue的Vue-ls使用

Vue 插件,用于从 Vue 上下文中使用本地 Storage,会话 Storage 和内存 Storage

1. 安装

NPM
npm install vue-ls --save

YARN
yarn add vue-ls

2. 使用

import Storage from 'vue-ls';

options = {
namespace:
'vuejs__', // key 键前缀
name: 'ls', // 命名 Vue 变量.[ls] 或 this.[$ls],
storage: 'local', // 存储名称: session, local, memory
};

Vue.use(Storage, options);
// 或 Vue.use(Storage);

new Vue({
el:
'#app',
mounted:
function() {
Vue.ls.set(
'foo', 'boo');
// 设置有效期
Vue.ls.set('foo', 'boo', 60 * 60 * 1000); //有效 1 小时
Vue.ls.get('foo');
Vue.ls.get(
'boo', 10); // 如果没有设置 boo 返回默认值 10

let callback
= (val, oldVal, uri) => {
console.log(
'localStorage change', val);
}

    Vue.ls.on(</span>'foo', callback) <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">侦查改变foo键并触发回调 </span>
    Vue.ls.off('foo', callback) <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">不侦查</span>
Vue.ls.remove('foo'); // 移除 } });

Global(全局)     :Vue.ls

Context(上下文):this.$ls

3. API 说明

1. Vue.ls.get(name, def)

返回 storage 中 name 值。在返回之前,内部解析 JSON 中的值
def: 默认 null, 如果为设置则返回 name .

2.Vue.ls.set(name, value, expire)

在 storage 设置 name 的 value . 并将 value 转化为 JSON
expire: 默认为 null , name 有效时间以毫秒为单位

3. Vue.ls.remove(name)

从 storage 中移除 name . 成功移除 true, 否则返回 false.

Vue.ls.clear()

清除 storage.

4. Vue.ls.on(name, callback)

持续监听 name 在其他标签上的更改,更改时触发 callback , 传递以下参数:

newValue: 当前 storage 中 name , 从持久化的 JSON 中解析
oldValue: 旧的 storage 中 name , 从持久化的 JSON 中解析
url: 修改来自选项卡的 URL

5.Vue.ls.off(name, callback)

删除以前的侦听器 Vue.ls.on(name, callback)


作者:清远 _03d9
链接:https://www.jianshu.com/p/ab7f67878279