shared/base/view.js
function() {
    var retVal, parsedOptions;

    if (this.model) {
      retVal = this.model.toJSON();
    } else if (this.collection) {
      retVal = {
        models: this.collection.toJSON(),
        meta: this.collection.meta,
        params: this.collection.params
      };
    }

    // Remove options that are duplicates in the templates
    parsedOptions = _.omit(this.options, ['model', 'collection', 'app']);
    return _.extend({}, retVal, parsedOptions);
  }
function() {
    var retVal, parsedOptions;

    if (this.model) {
      retVal = this.model.toJSON();
    } else if (this.collection) {
      retVal = {
        models: this.collection.toJSON(),
        meta: this.collection.meta,
        params: this.collection.params
      };
    }

    // Remove options that are duplicates in the templates
    parsedOptions = _.omit(this.options, ['model', 'collection', 'app']);
    return _.extend({}, retVal, parsedOptions);
  }
function ( ) { var retVal , parsedOptions ; if ( this . model ) { retVal = this . model . toJSON ( ) ; } else if ( this . collection ) { retVal = { models : this . collection . toJSON ( ) , meta : this . collection . meta , params : this . collection . params } ; } // Remove options that are duplicates in the templates parsedOptions = _ . omit ( this . options , [ 'model' , 'collection' , 'app' ] ) ; return _ . extend ( { } , retVal , parsedOptions ) ; }
Get data for template.  This also acts as a view-model.
Try to return proper data if model or collection is available.
Get data for template . This also acts as a view - model . Try to return proper data if model or collection is available .