gpt4 book ai didi

javascript - 无法让 idAttribute 在 Backbone 中工作

转载 作者:行者123 更新时间:2023-12-02 18:22:12 25 4
gpt4 key购买 nike

我有一个集合,它指定一个模型,该模型本身有一个 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] 找到模型,但这似乎可能更昂贵。

console output

最佳答案

我认为问题在于,当 Backbone.Collection 期望它是 models 时,您将 options 作为第一个参数传递给 SavedSearchesCollection that.collection 上缺少 model 属性也证明了这一点。

尝试

var savedSearchesCollection = new SavedSearchesCollection([], {
model: SearchItemModel
});

关于javascript - 无法让 idAttribute 在 Backbone 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18728900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com