Marionette.js CollectionView, solo renderiza modelos específicos

Estoy refactorizando mi aplicación Backbone.js para usar Marionette.js, y estoy tratando de envolver mi cabeza alrededor de unCollectionView.

Supongamos que tengo variosItemViews con el modeloCow:

// Declare my models.
var Cow = Backbone.Model.extend({});
var Cows = Backbone.Collection.extend({
  model: Cow
});

// Make my views
var GrassPatch = Marionette.ItemView.extend({
  tagName:  'div',
  template: "<section class='grass'>{{name}}</section>",
})

var Pasture = Marionette.CollectionView.extend({});

// Instantiate the CollectionView,
var blissLand = new Pasture({
  itemView: GrassPatch;
});

// Now, add models to the collection.
Cows.add({
  name: 'Bessie',
  hasSpots: true
});

Cows.add({
  name: 'Frank',
  hasSpots: false
});

Ahora aquí está el truco. Solo quiero vacas con manchas en mi pasto. ¿Cómo, al definir mi CollectionView (Pasture), le digo que solo preste atención a aquellos modelos cuyoshasSpots ===true?

Idealmente, me gustaría tener el filtro CollectionView que, en todos los eventos, pero, como mínimo, ¿cómo puedo mostrar solo ItemViews según las propiedades de su modelo?

ACTUALIZAR

Utilicé los ejemplos de David Sulc y esto resultó en una solución fácil. Aquí hay una implementación de ejemplo:

  this.collection = Backbone.filterCollection(this.collection, function(criterion){
    var len = String(criterion).length;
    var a = criterion.toLowerCase();
    return function(model){
      var b = String(model.get('name')).substr(0, len).toLowerCase();
      if (a === b) {
        return model;
      }
    };
  });

  this.collection.add({ name: 'foo' });
  this.collection.add({ name: 'foosball' });
  this.collection.add({ name: 'foo bar' });
  this.collection.add({ name: 'goats' });
  this.collection.add({ name: 'cows' });

  this.collection.filter('foo');

  // -> returns the first three models

Respuestas a la pregunta(4)

Su respuesta a la pregunta