我想从集合内的模型中获取特定值。集合按 ID (contest_id) 排序,该 ID 由数据库提供服务并以 JSON 形式交付。所以,JSON 看起来像:
data : [{
"contest_id" : "3",
"artist" : {
"artist_name": "some name",
"artist_cover" : "some image.jpg"
}
},
"contest_id" : "1",
....
}]
现在,我已经把一些东西粘在一起了:
var contestImage = _.max(this.collection.toJSON(), function(cnt){
return cnt.contest_id;
});
我得到了最高的contest_id,这就是我想要的,但是当我想抓取图像时我该如何进行?甚至显示它?
提前致谢...
最佳答案
max
方法实际上应该可以直接从您的 Backbone 集合中获取(虽然它是一个 Underscore 方法,但它混合到 Backbone 的集合中),这意味着您可以稍微简化您的代码。
像这样的事情应该可以解决问题:
var model = this.collection.max(function (cnt) {
return cnt.contest_id;
});
var contest_id = model.get('contest_id');
第一部分返回您想要的模型,第二部分获取竞赛 ID 属性。
要获取艺术家封面属性,您可以将其转换为 JSON:
var artist_cover = model.toJSON().artist.artist_cover;
或者从模型中获取艺术家属性:
var artist_cover = model.get('artist').artist_cover;
关于javascript - BackboneJS - 使用 _.max 方法从集合中获取特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24449253/