我刚从 Backbone.js 开始,我遇到了嵌套模型和集合的问题。
对于这个例子,我只有一个端点,/vocabulary.json
.
这是将返回的示例:
[
{
"id": 1,
"words": [
{
"native": "hello",
"foreign": "hola"
},
{
"native": "yes",
"foreign": "si"
},
{
//... More words in this lesson
}
]
},
{
//... More lessons coming from this endpoint
}
]
它基本上是 的集合lessons
,每个lesson
都有一个词汇的集合words
。
我如何在words
没有另一个url
端点的情况下创建一个集合(似乎是集合所必需的)?
这是我到目前为止所拥有的。实际上,这是一个精简的基本版本,因为我尝试的一切都不起作用。
/entities/vocabulary.js
Entities.Vocabulary = Backbone.Model.extend({});
Entities.Vocabularies = Backbone.Collection.extend({
model: Entities.Vocabulary,
url: "/vocabulary.json"
});
// Here is where I am struggling
Entities.Vocabulary.Word = Backbone.Model.extend({
// what to do?
});
Entities.Vocabulary.Words = Backbone.Collection.extend({
// what to do?
// Need some method to go into the Entities.Vocabularies Collection, pluck a given id
// and return the "words" attribute as a new Collection to work from.
});
也许,我认为这是完全错误的,但我希望我已经很好地解释了我的问题,以帮助你帮助我。