2014-10-05 64 views
0

我想按日子將事件集合分解爲事件。我試圖使用groupBy函數,但我無法弄清楚它將如何創建不同的集合,以便我可以使用不同的標題創建視圖。如何將主幹集合分類爲多個集合進行呈現?

這裏是我的代碼

var eventCollectionView = Backbone.View.extend({ 
    initialize: function() { 
     this.listenTo(this.collection, "reset", this.render); 
    }, 
    tagName: "div", 
    className: "events", 
    render: function(){ 
     _.groupBy(this.collection.models, function(model){ 
      return model.get('date') 
     }); 
     this.collection.each(function(eventItem) { 
       var view = new eventView({model: eventItem}); 
      this.$el.append(view.render().el); 

     }, this);//defines scope 
     return this; 
    } 
}); 

我也試着this.collection.groupBy和分組不工作。

回答

1

您需要堅持groupBy函數的返回值。目前您正在分組,然後再次使用未分組的集合。如果需要,_.groupBy()將返回一個包含屬性鍵的對象,然後您可以使用​​進行迭代。這裏是一個例子http://jsfiddle.net/q36Le6c4/1/

+0

很好的例子,謝謝! – user3340037 2014-10-05 16:15:37