无法使用Backbone JS和Indexeddb适配器保存对象

时间:2014-06-21 19:44:16

标签: javascript backbone.js indexeddb

我使用BackboneJS创建了一个使用IndexedDb adapter保存数据的网络应用。我无法持久保存对象,因为在调用 save()方法时会抛出异常,即使对于非常简单的对象也是如此。

var page = new Page();
page.set({
   'title': 'New page',
   'number': 1
});
page.save()

...导致错误消息(在Chrome中)。

  

异常消息:无法执行'添加' on' IDBObjectStore':An   对象无法克隆。

1 个答案:

答案 0 :(得分:0)

使用BackboneJSIndexedDB 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