考虑这段代码:
myObj = new BackboneModel({'a_key': {'c_key': c_val, 'd_key': d_val}, 'b_key': b_value});
localStorage.setItem('myObj', myObj);
现在,如果我使用 Chrome 开发人员工具检查数据,我会得到:
> myObj
r {cid: "c1", attributes: Object, _changing: false, _previousAttributes: Object, changed: Object…}
> localStorage
Storage {myObj: "[object Object]"}
> myObj.get('a_key')
Object {c_key: Object, d_key: Object}
> localStorage.getItem('myObj')
"[object Object]"
即)我没有得到我设置的...
我是否错误地使用了 localStorage?
我怎样才能得到我设置的东西?
注意:我假设我的backbone.js 模型的细节在这里无关紧要。
解决了
// Set
var objDict = {'a_key': {'c_key': c_val, 'd_key': d_val}, 'b_key': b_value};
myObj = new BackboneModel(objDict);
localStorage.setItem('myObj', objDict);
...
// Get
var objDict = JSON.parse(localStorage.getItem('myObj'));
myObj = new BackboneModel(objDict);