我使用BackboneJS创建了一个使用IndexedDb adapter保存数据的网络应用。我无法持久保存对象,因为在调用 save()方法时会抛出异常,即使对于非常简单的对象也是如此。
var page = new Page();
page.set({
'title': 'New page',
'number': 1
});
page.save()
...导致错误消息(在Chrome中)。
异常消息:无法执行'添加' on' IDBObjectStore':An 对象无法克隆。
答案 0 :(得分:0)
使用BackboneJS和IndexedDB adapter创建新对象时,需要将数据传递给save方法(而不是之前设置)。
var page = new Page();
page.save(
{
'title': 'New page',
'number': 1
},
{
success: function(){
// Object saved
},
error: function(){
// An error occurred when saving
}
}
);
项目的单元测试是如何使用API的非常好的示例来源:https://github.com/superfeedr/indexeddb-backbonejs-adapter/blob/master/tests/test.js