Backbone在作为对象的属性上的函数

时间:2015-03-10 15:59:01

标签: javascript backbone.js underscore.js

我有一个像这样的骨干模型:

    Name: Test1
 size: {Key: "M" Value: "Med"}

现在我想要获得密钥M的总数。下面的函数不起作用:

getTotals: function(property) {
        return this.where({ size: { Key: property }}).length;
    }

我称之为:

collection.getTotals("M")

有没有办法用功能的骨干做到这一点?

1 个答案:

答案 0 :(得分:2)

我不相信有一种方法可以使用主干的where方法。查看文档(http://backbonejs.org/#Collection-where)并考虑它的内容:"对于简单过滤器的情况非常有用" (重点补充)。

你的不是一个简单的例子,因为size的值是一个对象,但我们仍然使用过滤器:

collection.filter(function(model) {
    return model.get('size').Key == 'M'
});