我有这个模特-

class pt.SearchResultModel extends Backbone.Model
  defaults:
    id:"",
    image:"",
    colour:""


我正在尝试-

_.pluck(resultsCollection,'id')


但是它总是返回未定义的-不确定发生了什么。

我犯什么语法错误?

最佳答案

Underscore数组方法被嵌入到Backbone集合中(可以这么说)。您可以直接在它们上调用它们:

resultsCollection.pluck 'id'


在大多数情况下,您也可以在集合的models属性(这是一个普通的数组)上使用Underscore方法,例如_.pluck someCollection.models, 'someAttr',但请注意,pluck的情况很特殊,因为Backbone模型会通常没有它们的属性作为自己的属性(您必须调用get来访问它们)。 Backbone的pluck的实现仍然是very straightforward :)

10-06 04:17