我正在寻找创建一个复杂的骨干模型架构:
我希望嵌套Backbone模型,原因如下:
最后,我想为一个视图设置一个Backbone模型,但我必须将A的集合仅保存到本地存储中。
目前我的原则如下:
初始化A:
在我设定的模型的initalize()中:
this.attributes.modelB = new ModelB();
目前,如果我创建了一个对象modelA,我可以按如下方式访问B属性:
modelA.attributes.modelB.get ('id')
// or
modelA.attributes.modelB.attributes.id
实际上它只是一个嵌套的骨干模型对象
让我们将A存储到本地存储中供以后使用:
我们来看看本地存储:
localStorage.getItem ("itemsCollection")
添加一个对象完全被json解析,好像通过调用方法 save(),每个级别的Backbone对象进入A模型执行 toJSON()。 / p>
所有字段都存储得很好。
现在我需要阅读此对象以在我的视图中显示内容。
灾难,只有第一级被恢复,超级重置为空B模型。
有些东西告诉我, fetch()方法没有用于恢复嵌套骨干模型。 但是,我的模型模式很简单和常见,我需要对象中的对象,我的解决方案可能不正确。
你对我有什么建议吗?
提前谢谢
答案 0 :(得分:0)
没错,Backbone将不迎合嵌套模型(模型内模型):
Backbone不包括对嵌套模型和集合的直接支持,或者“有很多”关联,因为在客户端有很多用于建模结构化数据的好模式,和Backbone应该为实现任何他们。
您可以阅读所有相关内容here,其中还提供了一些建议。