Backbone findWhere 什么也没找到

Backbone findWhere finds nothing

我的 collection 有 4494 个模型。我尝试使用 findWhere 通过 id 获取特定模型。 findWhere returns 'undefined'。

如果我限制模型数量就可以了。当模型数量超过 100 时,这种奇怪现象就会加剧。

var users = this.usersCollection;

console.log(users);

console.log(users.findWhere({uid: 1}));

虽然问题已解决(在实际获取集合之前使用 findWhere)感谢搜索时 , you might want to use .get 而不是 findWhere id 的模型。

如果您的 User 模型看起来像这样:

var User = Backbone.Model.extend({
    idAttribute: 'uid',
    // ...
});

您可以直接从集合中通过 id 获取用户:

var user = users.get(1);

您还可以将 get 与模型的 cid 或模型实例一起使用。

user === users.get(user.cid)
user === users.get(user)

这更好,因为 Backbone 除了通常的数组外,还保留了具有指定 id 属性的模型的散列作为键。

问题是我在 collection 完全获取之前尝试使用它。