使用Backbone.js获取父模型的价值

时间:2013-06-29 14:15:34

标签: javascript model-view-controller inheritance backbone.js mv

我有一个具有以下架构的骨干应用程序:

PageGroupCollectionPageGroupModel s。

的集合

PageGroupModel有一个PageCollection作为其中一个属性。

PageCollectionPageModel s

的集合

PageGroupModel具有permalink属性

PageModel具有permalink属性。

我需要PageModel中的一个函数,该函数返回permalink,其中包含permalink PageModel PageCollection属性包含PageGroupModelpermalink还有自己的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}}

1 个答案:

答案 0 :(得分:1)

Backbone实际上并不适用于嵌套模型(Backbone-Relational可能很有趣)。但是,如果您可以访问树的入口点(在您的示例中,可以访问PageGroupCollection的实例),则可以执行此操作:

var parent = myPageGroupCollection.findWhere({pageCollection: myPageModel.collection});

myPageModel是您的子模型,pageCollectionPageGroupModel的集合属性。

假设您也没有弄乱模型的collection属性(例如,如果您的模型位于多个集合中)。