title: SerializeData in CompositeView
body: <p>I need to pass a value to the <code>listView.template</code> in order to be aware the template about the <code>collection.length</code>.<br>
  I think one option is to redefine the serializeData method in order to pass a parameter in this way.     </p>
  
  <pre><code>var ListView = Marionette.CompositeView.extend({
  
      initialize: function () {
          this.collection.on('reset', this.serializeData, this);
          this.collection.on('remove', this.serializeData, this);
          this.collection.on('add', this.serializeData, this);
      },
  
      serializeData: function () {
          console.log(this.collection.length);
          return {
              has_tasks: this.collection.length &gt; 0
          };
      },
  
      // other codes
  });
  </code></pre>
  
  <hr>
  
  <p>When I start the <code>app</code> the <code>collection</code> is not yet fetched so:     </p>
  
  <p>1.a) the <code>collection.legth = 0</code><br>
  2.b) the template get <code>has_tasks = false</code> as expected.      </p>
  
  <p>2.a) after the fetch the <code>collection.length is &gt; 0</code>,<br>
  2.b) the <code>serializeData</code> is called and so it puts the <code>has_tasks = true</code>,<br>
  2.c) the template seems to be not rendered because it maintains the <code>has_tasks = false</code>    </p>
  
  <p>Any idea because <code>2.c</code>?</p>