我有一个集合,它指定一个模型,它本身有一个 idAttribute 集,因为我的后端使用自定义字段作为主键。代码是这样的:
var SearchItemModel = Backbone.Model.extend({
idAttribute: 'searchDefId'
});
var savedSearchesCollection = new SavedSearchesCollection({
model: SearchItemModel
});
我的理解是我应该能够通过做找到模型that.collection.get(searchDefIdValue)
,但我不能。下面,你可以看到我的收藏有两个模型。如果我尝试基于 Backbone 的 cid 'c44' 来获取模型,那么它可以发现它没有问题。但是,如果我尝试在自定义 ID 字段“searchDefId”上进行搜索,则找不到它。我认为 Backbone 应该将 idAttribute 的值复制到 id 中,但我没有看到任何“id”字段。
另请注意,我可以找到使用的模型,that.collection.where({ searchDefId: data.searchDefId})[0]
但似乎它可能更贵。