我有一个具有以下架构的骨干应用程序:
PageGroupCollection
是PageGroupModel
s。
PageGroupModel
有一个PageCollection
作为其中一个属性。
PageCollection
是PageModel
s
PageGroupModel
具有permalink
属性
PageModel
具有permalink
属性。
我需要PageModel
中的一个函数,该函数返回permalink
,其中包含permalink
PageModel
PageCollection
属性包含PageGroupModel
和permalink
还有自己的getFullPermalink: function () {
var parentPermanlink = this.owningCollection.modelCollectionIsAnAttributeOf.get('permalink');
return parentPermalink + "/" + this.get('permalink');
}
属性。
如下所示:
var pageGroup = pageGroupCollection.findWhere({ 'pageCollection': this.collection });
var pageGroupPermalink = pageGroup.get('permalink');
return pageGroupPermalink + "/" + this.get('permalink');
更新:通过添加以下内容来工作:
{{1}}
答案 0 :(得分:1)
Backbone实际上并不适用于嵌套模型(Backbone-Relational可能很有趣)。但是,如果您可以访问树的入口点(在您的示例中,可以访问PageGroupCollection
的实例),则可以执行此操作:
var parent = myPageGroupCollection.findWhere({pageCollection: myPageModel.collection});
myPageModel
是您的子模型,pageCollection
是PageGroupModel
的集合属性。
假设您也没有弄乱模型的collection
属性(例如,如果您的模型位于多个集合中)。