1

我有两个 Backbone SuperModelInfoContent, 并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

4

0 回答 0