indexedDB 使用

数据库的打开/新增/删除

initDB() {
  let _this = this;
  let obj = {
    id: 1,
    name: _this.addForm.content
  }
  let indexedDB = window.indexedDB || window.webkitindexedDB || window.msIndexedDB || mozIndexedDB;
  request = indexedDB.open('edp'); //edp数据库名称
  request.onsuccess = function(event) {
    console.log('打开成功');
    db = event.target.result;
    //清空表
    //let tx = db.transaction('messageCode', 'readwrite');
    //let store = tx.objectStore('messageCode');
    //store.clear();
    // 删除表
      let tx = db.transaction('messageCode', 'readwrite');
      let store = tx.objectStore('messageCode');
      store.delete(1);     
//添加表     let objStore;     let transaction = db.transaction(['messageCode'], 'readwrite');     objStore = transaction.objectStore('messageCode');     objStore.add(obj);   }   request.onupgradeneeded = function(event) {     db = event.target.result;     let store;     //创建表     if(!db.objectStoreNames.contains('messageCode')) {       store = db.createObjectStore('messageCode', {         keyPath: 'id',         autoIncrement: true       });     }     console.log('创建对象仓库成功');   } }

更改表

//内容更改
changeCode() {
    let obj = {
        id: 1,
        name: this.addForm.content
    }
    //更新表
    let tx = db.transaction('messageCode', 'readwrite');
    let store = tx.objectStore('messageCode');
    let req = store.get(1);
    req.onsuccess = function(e) {
        store.put(obj);
        console.log('更新成功');
    };
},            

新页面获取表

created() {
    let _this = this;
    var request = window.indexedDB.open('edp');
    var db;
    request.onerror = function() {
        console.log('数据库打开报错');
    }
    request.onsuccess = function(event) {
        console.log('数据库打开成功');
    db = event.target.result;
    var transaction = db.transaction(['messageCode'], 'readwrite');
    var objStore = transaction.objectStore('messageCode');
    // 读取数据
    var req = objStore.get(1);
    req.onsuccess = function(e) {
        if(req.result) {
                console.log('已经查询到数据为:');
        console.log(req.result);
        _this.online = req.result.name;
        } else {
        console.log('未查询到数据');
        }
    }
    }
    request.onupgradeneeded = function(event) {
        console.log('数据库升级事件');
        db = event.target.result;
        console.log(db);
    }
}        
原文地址:https://www.cnblogs.com/zhaozhenzhen/p/12106539.html