title: Backbone Underscore Template
body: <p>So I'm checking out the changes related to the latest backbone/underscore version.  Prior I have a project running with BB 0.5.2 and underscore 1.1.7.  I'm noticing something strange with regards to defining a template property within a view in the new version, which gives me reservations in going forward with upgrading.  </p>
  
  <p>In my current version I would define a view as such:</p>
  
  <pre><code>var MyView = Backbone.View.extend({
    template: _.template($('#exampleTemplate').html()),
    initialize: function() {...},
    render: function() { $(this.el).html(this.template(someObjectParam)); },
  });
  </code></pre>
  
  <p>However, if I attempt to work in the same manner, using a simplified todo clone attempt as an example, I setup an html with an inline script template as such:</p>
  
  <pre><code>&lt;script&gt;
    $(document).ready(function() {
      app.init();
    });
  &lt;/script&gt;
  
  &lt;script type="text/template" id="itemViewTemplate"&gt;
    &lt;div class="item"&gt;
      &lt;input type="checkbox" name="isComplete" value="&lt;%= item.value %&gt;"/&gt;
      &lt;span class="description"&gt;&lt;%= item.description %&gt;&lt;/span&gt;
    &lt;/div&gt;
  &lt;/script&gt;
  </code></pre>
  
  <p>In my included JS file I have:</p>
  
  <pre><code>var ItemView = Backbone.View.extend({   
    el: 'body',
  
    // Below causes error in underscore template, as the jquery object .html() call
    // returns null.  Commenting will allow script to work as expected.
    templateProp: _.template($('#itemViewTemplate').html()),  
  
    initialize: function() {
      // Same call to retrieve template html, returns expected template content.
      console.log($('#itemViewTemplate').html());  
  
      // Defining view template property inside here and calling it, 
      // properly renders.
      this.template = _.template($('#itemViewTemplate').html());
      this.$el.html(this.template({item: {value: 1, description: 'Something'}}));
    },
  });
  
  var app = {
    init: function() {
      console.log('Fire up the app');
      var itemView = new ItemView();
    }
  }
  </code></pre>
  
  <p>So I'm left confused as to why defining the template property directly causes the call to retrieve the template html to return a null value, thus breaking the attempt to define an underscore template object (mouthful).  However, if the definition is done within the initialize function, the call to retrieve the template html properly finds the template so its contents can be passed to the underscore template.  Anyone see what I'm potentially missing?  </p>
  
  <p>Thanks in advance!</p>