我尝试使用findWhere过滤我的收藏。过滤器full_empty和idprovide工作正常,但我不知道过滤器的类别。 我需要一起过滤器
我的收藏:
{
"full_empty": "0",
"idprovider": "AA",
"car": {
"category": "LL"
}
代码
model = coleccion.findWhere({
full_empty: 0,
idprovider: data_provider,
car: {category: data_category}
});
答案 0 :(得分:0)
为什么不这样做呢:
var coleccion = new Backbone.Collection();
var data_provider = 'AA';
var data_category = 'LL';
coleccion.add({"full_empty": "0","idprovider": "AA","car": {"category": "LL"}});
coleccion.add({"full_empty": "0","idprovider": "AB","car": {"category": "LY"}});
coleccion.add({"full_empty": "0","idprovider": "AC","car": {"category": "LY"}});
console.log(coleccion.findWhere(function(_model){
var model = _model.attributes;
if (model.full_empty == 0 && model.idprovider == data_provider && model.car.category == data_category){
return _model;
}
}));
输出:
B…e.Model {cid: "c41", attributes: Object, collection: B…e.Collection, _changing: false, _previousAttributes: Object…}
注意_model
vs model
变量。
PS。我使用了==
而不是===
,因为在您的示例中,您要将0
与"0"
进行比较,并尝试尽可能均匀,因为==
有时会转过来并咬你的屁股。 - 你被警告了。