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>
相关推荐
Airene几秒前
Vite 8 发布 beta 版本了,升级体验一下 Rolldown
前端·vite
冰暮流星3 分钟前
css3如何引入外部字体
前端·css·css3
VX:Fegn08958 分钟前
计算机毕业设计|基于springboot + vue非遗传承文化管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
ByteCraze11 分钟前
从零到一:构建一个实时语音翻译应用(Vue3 + Web Speech API)
前端·开源·github
名字被你们想完了21 分钟前
Flutter 实现一个容器内部元素可平移、缩放和旋转等功能(三)
前端·flutter
用户120391129472624 分钟前
从零掌握 React JSX:为什么它让前端开发像搭积木一样简单?
前端·react.js·面试
Jonathan Star24 分钟前
git commit --amend 是 Git 中用于修改最后一次提交的核心命令
前端·chrome·git
在掘金8011028 分钟前
RequireJS 详解
前端·javascript
cindershade30 分钟前
我对防抖(Debounce)的一点理解与实践:从基础到立即执行
javascript
Dwzun44 分钟前
基于SpringBoot+Vue的农产品销售系统【附源码+文档+部署视频+讲解)
数据库·vue.js·spring boot·后端·毕业设计