vue2+Dexie.js基本使用——前端大容量存储IndexedDB 的包装库
warning:
这篇文章距离上次修改已过206天,其中的内容可能已经有所变动。
<template>
<div>
<input type="text" v-model="newItem" @keyup.enter="addItem">
<ul>
<li v-for="item in items" :key="item.id">
<input type="checkbox" v-model="item.isCompleted">
<span :class="{ completed: item.isCompleted }">{{ item.text }}</span>
</li>
</ul>
</div>
</template>
<script>
import { Dexie } from 'dexie';
const db = new Dexie('todoAppDatabase');
db.version(1).stores({
items: '++id, text, isCompleted'
});
export default {
data() {
return {
newItem: '',
items: []
};
},
methods: {
addItem() {
if (this.newItem.trim() === '') return;
db.items.add({ text: this.newItem, isCompleted: false });
this.newItem = '';
this.refreshItems();
},
refreshItems() {
db.items.toArray().then(items => {
this.items = items;
});
}
},
created() {
this.refreshItems();
}
};
</script>
<style>
.completed {
text-decoration: line-through;
}
</style>
这个简单的Vue组件使用Dexie.js来存储TODO项目。它包含了创建数据库、定义存储结构、添加新项目、获取所有项目和标记项目为已完成的基本操作。这个例子展示了如何在前端应用中使用IndexedDB的简单方法,并且可以作为学习和使用Dexie.js的起点。
评论已关闭