我通常会在google上搜索有关使用某些语言,插件和框架的最佳做法。
我找不到任何有关在VUE CLI上使用indexedDB的最佳实践的教程。我实际上可以成功使用它,但是我认为我的代码是多余的。我不确定这是否是最好的方法。所以我要做的就是创建一个在挂载时执行的脚本。
let dbPromise = await indexedDB.open('dbname', 3);
/* initialize `tbl_contact` */
dbPromise.onupgradeneeded = (event) =>
{
let ldb = event.target.result;
// Create `contact` database
let objectStore = ldb.createObjectStore("contact", { keyPath: "uid" });
objectStore.createIndex("name", "name", { unique: false });
objectStore.createIndex("status", "status", { unique: false });
//.. and other database
};
然后每当我想对contact
进行操作时。我再次打开它,就像将信息插入其中一样。
storeContact(contact)
{
/* local db setup */
var dbPromise = indexedDB.open('dbname');
/* execute code on successful local db connection */
dbPromise.onsuccess = () =>
{
let ldb = dbPromise.result;
let tx = ldb.transaction('contact', "readwrite");
let tbl_contact = tx.objectStore("contact");
/* insert contact to database */
tbl_contact.put(contact);
tx.oncomplete = () =>
{
ldb.close();
}
}
}