Backbone.js Backbonejs搜索集合,模型为对象默认值
我有一个这样的模型Backbone.js Backbonejs搜索集合,模型为对象默认值,backbone.js,collections,Backbone.js,Collections,我有一个这样的模型 var myModel = Backbone.Model.extend({ defaults: { a: '', b: '', c: '' } }); My collectionmyCollection用数据填充,并且c值是一个对象列表 我正在尝试找出如何在myCollection中查找一个值,以便它匹配我的模型c中的项目,并在找到匹配项时返回该模型 c中的值是如下对象 "c": {"1": {}, "2": {}, "3": {
var myModel = Backbone.Model.extend({
defaults: {
a: '',
b: '',
c: ''
}
});
My collectionmyCollection
用数据填充,并且c
值是一个对象列表
我正在尝试找出如何在myCollection
中查找一个值,以便它匹配我的模型c
中的项目,并在找到匹配项时返回该模型
c
中的值是如下对象
"c": {"1": {}, "2": {}, "3": {}}
使用函数,该函数迭代集合并返回与您的条件匹配的第一个模型。大概是这样的:
result = myCollection.find(function (model) {
return model.get("c").indexOf(5) != -1;
});
或者使用而不是find()
,来获取通过条件的所有模型。使用函数,该函数迭代集合并返回与条件匹配的第一个模型。大概是这样的:
result = myCollection.find(function (model) {
return model.get("c").indexOf(5) != -1;
});
或者使用而不是
find()
,来获取所有通过条件的模型。非常感谢您的回复。例如,这是否允许我在c
中包含的对象列表中搜索“2”,然后返回该模型?是的,您可以将第二行替换为如下内容:return model.get(“c”)[“2”!==未定义代码>再次感谢-我对这两个场景进行了修改。还是有点卡住了!如果有人遇到麻烦,我爱你的帮助。请记住,从直接get
传递到indexOf
的任何变量都必须是indexOf(parseInt(var))
非常感谢您的响应。例如,这是否允许我在c
中包含的对象列表中搜索“2”,然后返回该模型?是的,您可以将第二行替换为如下内容:return model.get(“c”)[“2”!==未定义代码>再次感谢-我对这两个场景进行了修改。还是有点卡住了!如果有人遇到麻烦,我爱你的帮助。请记住,从直接get
传递到indexOf
的任何变量都必须是indexOf(parseInt(var))