Backbone多个属性与对象内的对象

时间:2015-12-15 15:01:06

标签: javascript backbone.js find

我尝试使用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}
});

1 个答案:

答案 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"进行比较,并尝试尽可能均匀,因为==有时会转过来并咬你的屁股。 - 你被警告了。