问题描述
我有以下结构的主干应用程序:
A PageGroupCollection
是一家集 PageGroupModel
秒。
A PageGroupModel
有一个 PageCollection
作为它的一个属性。
A PageCollection
是一家集 PageModel
取值
PageGroupModel
有一个永久
属性
PageModel
有一个永久
属性。
我需要在 PageModel
函数返回一个永久
,它同时包括永久链接
PageModel
的多数民众赞成 PageCollection
属性包含 PageGroupModel
也是自己的永久
属性。
类似以下内容:
getFullPermalink:功能(){ VAR parentPermanlink = this.owningCollection.modelCollectionIsAnAttributeOf.get('永久'); 返回parentPermalink +/+ this.get('永久链接');
}
更新:通过添加以下曾任职:
VAR pageGroup = pageGroupCollection.findWhere({'pageCollection':this.collection});
VAR pageGroupPermalink = pageGroup.get('永久');
返回pageGroupPermalink +/+ this.get('永久链接');
骨干是不是真的让嵌套模型(骨干-关系可能是有趣)工作。但是,如果你有机会获得你的树的入口点(在你的榜样,以 PageGroupCollection
的实例),你可以这样做:
VAR父= myPageGroupCollection.findWhere({pageCollection:myPageModel.collection});
使用 myPageModel
是您的孩子模型和 pageCollection
的集合属性 PageGroupModel
。
假如你也不要使用集
属性你的模型混乱(如果你的模型是在几个集合为例)。
I have a backbone application with the following architecture:
A PageGroupCollection
is a collection of PageGroupModel
s.
A PageGroupModel
has a PageCollection
as one of it's attributes.
A PageCollection
is a collection of PageModel
s
PageGroupModel
has a permalink
attribute
PageModel
has a permalink
attribute.
I need a function within PageModel
that returns a permalink
that includes both the permalink
of PageModel
thats PageCollection
attribute contains PageGroupModel
and also its own permalink
attribute.
Something like the following:
getFullPermalink: function () {
var parentPermanlink = this.owningCollection.modelCollectionIsAnAttributeOf.get('permalink');
return parentPermalink + "/" + this.get('permalink');
}
Update: Worked by adding the following:
var pageGroup = pageGroupCollection.findWhere({ 'pageCollection': this.collection });
var pageGroupPermalink = pageGroup.get('permalink');
return pageGroupPermalink + "/" + this.get('permalink');
Backbone isn't really made to work with nested models (Backbone-Relational may be interesting). But if you have access to the entry point of your tree (in your example, to the instance of PageGroupCollection
), you can do that:
var parent = myPageGroupCollection.findWhere({pageCollection: myPageModel.collection});
With myPageModel
being your child model and pageCollection
the collection attribute of the PageGroupModel
.
Supposing you also don't mess with the collection
attribute of your models (if your model is in several collections for example).
这篇关于获取父模型的价值与Backbone.js的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!