如何使用backbone.js返回要插入DOM的集合的长度

时间:2011-09-11 15:36:29

标签: backbone.js

我想知道是否有人知道如何在更改模型数量之前和之后返回集合的长度。我需要使用该值来替换页面上div的内容。

该系列是:

window.CourtTracks = Backbone.Collection.extend({
    model: CourtTrack,

    courtLoc : function( location ) {
        return _(this.filter( function( data ) {
            return data.get( "court" ) == location;
        }));
    }

});

在一个单独的backbone.view中,我已经使用模型数据加载了集合,然后使用上面的过滤器对其进行过滤。

var coll = new CourtTracks(alt);
var cnt = coll.courtLoc( location );

当我要求 cnt.length 时,该值将作为 undefined 返回。然而,返回 coll.length

3 个答案:

答案 0 :(得分:0)

集合上有一个length()方法

myCollection.length(); //=> x
myCollection.add(myModel);
myCollection.length(); //=> x + 1

答案 1 :(得分:0)

您还记得bind courtLoc收集对象吗?在该方法中设置断点,并验证this是否是您认为应该的。

答案 2 :(得分:0)

return this.filter( function( data ) {...})

请参阅http://jsfiddle.net/dira/qhFWp/