indexedDB在vue3中全局使用
时间: 2024-03-26 15:41:44 浏览: 253
vue_spa3cms3:IndexedDB + Dexie.js + Vue CLI,cms显示应用
要在 Vue3 中全局使用 IndexedDB,可以将 Dexie.js 实例挂载到 Vue3 实例的原型上,这样在任何组件中都可以方便地调用 IndexedDB 的 API。具体步骤如下:
1. 在 main.js 中引入 Dexie.js,并创建一个名为 "myDB" 的数据库。
```javascript
import Dexie from 'dexie';
const db = new Dexie('myDB');
db.version(1).stores({
users: '++id, name, age, email'
});
Vue.prototype.$db = db;
```
2. 在组件中使用 this.$db 来调用 IndexedDB 的 API。
```javascript
export default {
created() {
this.$db.users.add({ name: 'John Doe', age: 30, email: 'john@example.com' });
},
methods: {
async getUsers() {
return await this.$db.users.toArray();
}
}
}
```
这里我们将 Dexie.js 实例通过 Vue3 的原型挂载到了 Vue3 实例上,然后在组件中可以通过 this.$db 来访问它。在 created 钩子函数中,我们向 users 对象存储中添加了一个用户。在 getUsers 方法中,我们通过 this.$db.users.toArray() 来获取所有用户信息。
阅读全文