我正在使用Angular2使用IndexedDB。为此,我遵循以下github链接。 https://github.com/gilf/angular2-indexeddb
我正在创建这样的db并添加这样的值。
ngOnInit(){
let db = new AngularIndexedDB('mydb', 1);
db.createStore(1, (evt) => {
let objectStore = evt.currentTarget.result.createObjectStore(
'Userdetails', { keyPath: "id", autoIncrement: true });
objectStore.createIndex("name", "name", { unique: false });
objectStore.createIndex("email", "email", { unique: true });
});
db.add('Userdetails', { name: 'name', email: 'name@mail.com' }).then(() => {
// Do something after the value was added
console.log('fields added');
}, (error) => {
console.log('error is'+error);
});
}
但是在控制台中我得到这样的错误。在查询之前,你需要使用createStore函数来创建数据库!
任何人都可以告诉我我在哪里做错了。我对这个angular2-indexeddb很新。请帮助我。
答案 0 :(得分:2)
我认为如果我正确阅读代码,您db.add
的代码会被提前解雇。
如果你改变它应该工作
db.createStore(1, (evt) => {
let objectStore = evt.currentTarget.result.createObjectStore(
'Userdetails', { keyPath: "id", autoIncrement: true });
objectStore.createIndex("name", "name", { unique: false });
objectStore.createIndex("email", "email", { unique: true });
}).then(() => {
db.add('Userdetails', { name: 'name', email: 'name@mail.com' }).then(() => {
// Do something after the value was added
console.log('fields added');
}, (error) => {
console.log('error is'+error);
});
});