早上好,我对模型获得的特定id和它在parse.com中的id有点困惑,因为我的集合链接到了parse.com。
如果我想从我的收藏中获得一个特定的模型,我该怎么做?
例如,我的收藏是这样的:
var Proposte = Backbone.Collection.extend({
model:Proposta,
url:'https://api.parse.com/1/classes/Proposte',
});
return Proposte;我的模型是:
var Proposta = Backbone.Model.extend({
url:"https://api.parse.com/1/classes/Proposte",
...如果我想从我的收藏中获得一个特定的模型,我该怎么做?
发布于 2013-05-22 20:05:16
试试这个:
var item = Proposte.findWhere({'url':"https://api.parse.com/1/classes/Proposte"});野兔是doc
编辑:
上面的代码给出了集合的第一个匹配模型。如果想要获得多个与模型的特定属性匹配的模型,只需使用where
发布于 2013-05-22 20:16:00
通用案例:
为您的模型/集合定义 idAttribute :
var Proposta = Backbone.Model.extend({
idAttribute: 'name',
});
var Proposte = Backbone.Collection.extend({
model:Proposta,
url:'https://api.parse.com/1/classes/Proposte'
});
// Done here with static data just for illustration
var collection = new Proposte([{name: 'aaa'}, {name: 'bbb'}]);使用定义的属性从集合中检索模型:
console.log(collection.get('aaa'));JSFIddle
当然,URL**,也可以是该属性(以防万一):**
var Proposta = Backbone.Model.extend({
idAttribute: 'url'
});
var Proposte = Backbone.Collection.extend({
model:Proposta,
url:'https://api.parse.com/1/classes/Proposte',
});
var collection = new Proposte([{url: 'https://api.parse.com/1/classes/Proposte/1'}, {url: 'https://api.parse.com/1/classes/Proposte/2'}]);
console.log(collection.get('https://api.parse.com/1/classes/Proposte/2'));https://stackoverflow.com/questions/16691159
复制相似问题