vue 使用indexDB 简单完整逻辑

1 npm

复制代码
npm install idb

2 代码

javascript 复制代码
<template>
  <div>
    <p>Data: {{ data }}</p>
    <button @click="fetchData">Fetch Data</button>
  </div>
</template>

<script>
import { openDB } from 'idb';

export default {
  data() {
    return {
      data: null
    }
  },
  methods: {
    async fetchData() {
      // 发送第三方请求 url 填写
      const response = await fetch(url);
      const data = await response.json();

      // 将数据存储到 IndexedDB 中
      let db = await openDB('my-store', 1, {

        upgrade(db) {
        
          db.createObjectStore('my-store');
        }
      });
      db = await openDB('my-store', 1);
     )
      const tx = db.transaction('my-store', 'readwrite');
      const store = tx.objectStore('my-store');
      console.log('store', store)
      await store.put(data, 'my-data');
      await tx.done;

      // 从 IndexedDB 中获取数据
      const tx2 = db.transaction('my-store');
      const data2 = await tx2.objectStore('my-store').get('my-data');
      await tx2.done;

      // 更新数据
      this.data = data2;
      console.log(data2)
    }
  }
}
</script>
相关推荐
独爱香菜17 小时前
Next.js 15 + Cloudflare Workers 实战:零中间件多语言 SEO 站点架构
前端
计算机魔术师17 小时前
DeepSeek、Qwen3比肩GPT-5,本地跑大模型的时代来了
前端
xcyxiner17 小时前
flutter wsl2安装记录(使用宿主机虚拟机)
前端·flutter
前端炒粉17 小时前
长会话虚拟滚动与渲染优化
前端·javascript·vue.js
谙忆102417 小时前
图片裁剪总是跑偏?用 object-fit、object-position 和真实像素把坐标对齐
javascript·css·图像识别
花归去18 小时前
ant的a-table更改表格的高度
前端·javascript·html
sibylyue18 小时前
基于 Vben Admin 框架的 Vue 3 前端项目配置文件及常用命令
前端·javascript·vue.js
知几蜗牛18 小时前
0 后端 · 0 数据库 · 0 备案:用 AI 两天搓出的股票管理系统,开源了
前端·后端·llm
雪芽蓝域zzs18 小时前
Element‑Plus icon 图标名称查询 & 和菜单 meta.icon 字段映射
前端
01_ice19 小时前
前端学习css
前端·css·学习