我有两个 Backbone SuperModelInfo
和Content
, 并1-to-1
以这种方式相互关联:
Info.has().one('content', {
model: Content,
inverse: 'info'
});
Content.has().one('info', {
model: Info,
inverse: 'content'
});
并将这两个模型的实例保存到不同的本地存储中:
Info.all().localStorage = new Backbone.LocalStorage('info'); // all() returns the collection.
Content.all().localStorage = new Backbone.LocalStorage("content");
// instances of Info Model. 'id' would be generated when calling initialize()
var info1 = Info.create();
var info2 = Info.create();
var content1 = Content.create({
info_id: info1.get('id')
});
var content2 = Content.create({
info_id: info2.get('id')
});
// save to localStorage
info1.save();
info2.save();
content1.save();
content2.save();
在将它们取出后,所有关联都丢失了:
Info.all().fetch();
Content.all().fetch();
Info.all().at(0).content(); // undefined.
有人遇到过这个吗?你是怎么做到的 ?
此外,supermodel.js 承诺
使用 getter 函数检索关联属性。这允许通过集合进行延迟加载等优化。其他关联也可能在未来被延迟加载。
这是否意味着我可以加载与throughContent
关联的模型Info.all().at(0)
Info.all().at(0).content();
即使尚未获取内容模型的实例?(似乎它不起作用)
如何做到这一点lazy-loaded
?