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>
相关推荐
新时代牛马2 分钟前
Vue.js 响应式原理详解
前端·javascript·vue.js
jaysee-sjc3 分钟前
【JavaWeb】Tlias智能学习辅助系统|后端Web实战(登录认证)
java·开发语言·前端·学习·mybatis
岁月留痕1687 分钟前
11 实战项目一:搭建“一言”项目骨架
前端
BreezeJiang7 分钟前
为什么 Next.js 要把组件切成两半?从一个 SEO 死穴说起
javascript·react.js
用户2181697049308 分钟前
Flutter (十五) CustomScrollView PageView
前端
Molecular_Chat11 分钟前
Biotin SNA 生物素偶联凝集素结合特异性、生物素标记效率定量表征研究
javascript·python
WILLF12 分钟前
Python vs JavaScript 异常处理对比
前端·python
__sjfzllv___12 分钟前
在职前端Leader学习/转行 AI Agent -DAY31
前端
岁月留痕16813 分钟前
4 Dart 篇:异步(并发)
前端
MartinYeung515 分钟前
[论文学习]AdInject:通过广告投放对Web代理发起真实世界黑盒攻击
前端·学习