VUE - 本地储存

VUE - 本地储存

 

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

一个vue封装的本地储存的方法。

1. 安装插件

yarn add vue-ls --save-dev

 

2. 在main.js 中引入

复制代码
import Storage from "vue-ls";

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

Vue.use(Storage, options);
// 或 Vue.use(Storage);
复制代码

 

 

main.js

复制代码
import Vue from 'vue'
import App from './App.vue'

import Storage from "vue-ls";


let 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',
  render: h => h(App)
})
View Code
复制代码

 

 

3. 在组件中使用:page-vue-ls.vue

复制代码
<template>
  <div>sd</div>
</template>

<script>
import Vue from "vue";
export default {
  data() {
    return {};
  },
  mounted() {
    debugger;
    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) => {
      debugger;
      console.log("localStorage change", val);
    };

    Vue.ls.on("foo", callback); //侦查改变foo键并触发回调
    Vue.ls.off("foo", callback); //不侦查

    Vue.ls.set("foo", "booc");
    Vue.ls.remove("foo"); // 移除
  },
};
</script>
复制代码

 

 

4. 其他用法

复制代码
Vue.ls.get(name, def)
返回storage中 name值。在返回之前,内部解析JSON中的值,def: 默认null, 如果为设置则返回 name .

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

Vue.ls.remove(name)
从storage中移除 name . 成功移除 true, 否则返回false.

Vue.ls.clear()
清除storage.

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

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

Vue.ls.off(name, callback)
删除以前的侦听器 Vue.ls.on(name, callback)
复制代码

 

  

 

 

引用:https://www.jianshu.com/p/ab7f67878279

代码:https://gitee.com/wuxincaicai/prod-vue/PCommon/page-vue-ls

 

posted @   无心々菜  阅读(547)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示