Javascript 起始主干-下划线不能调用null的替换

Javascript 起始主干-下划线不能调用null的替换,javascript,backbone.js,underscore.js,Javascript,Backbone.js,Underscore.js,我刚刚开始学习主干,并完成了一个教程。我随后输入了代码,当我结束时(在整个测试过程中,我得到下划线不能调用null的“replace” 就像我说的-刚刚开始,所以任何关于如何修复,以及为什么它会坏的信息都会很棒 HTML <!-- ## CART CONTAINER ## --> <div id="yourcart"></div> <!-- ## SCRIPTS ## --> <script src="https://ajax.google

我刚刚开始学习主干,并完成了一个教程。我随后输入了代码,当我结束时(在整个测试过程中,我得到
下划线不能调用null的“replace”

就像我说的-刚刚开始,所以任何关于如何修复,以及为什么它会坏的信息都会很棒

HTML

<!-- ## CART CONTAINER ## -->
<div id="yourcart"></div>

<!-- ## SCRIPTS ## -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="js/underscore.js"></script>
<script src="js/backbone.js"></script>
<script src="js/cart.js"></script>

<!-- ## TEMPLATE ## -->
<script id="itemTemplate" type="text/template">
    <img src="<%= photo %>" alt="<%= title %>">
    <div>
        <h2><%= title %></h2>
        <h4>&pound;<%= price %></h4>
    </div>
</script>

没有看到关于
HTML
/
脚本位置的任何信息,但一旦我将
模板
代码移到其他脚本之上,它就工作得非常好

//  MODEL

var Item = Backbone.Model.extend({

  defaults: {

    price: 35,
    photo: "http://www.placedog.com/100/100"

  }

});

//  COLLECTION

var Cart = Backbone.Collection.extend({

  model: Item

});

var items = [

  { title: "Macbook Air", price: 799 },
  { title: "Macbook Pro", price: 999 },
  { title: "The New iPad", price: 399 },
  { title: "Magic Mouse", price: 50 },
  { title: "Cinema Display", price: 799 }

];

var cartCollection = new Cart(items);

// ITEM VIEW

var ItemView = Backbone.View.extend({

  tagName: "div",
  className: "item-wrap",
  template: $('#itemTemplate').html(),

  render: function() {
    var templ = _.template(this.template);
    this.$el.html(templ(this.model.toJSON()));
    return this;
  }

});

// COLLECTION VIEW

var CartCollectionView = Backbone.View.extend({

  el: $('#yourcart'),
  initialize: function() {
    this.collection = cartCollection;
    this.render();
  },
  render: function() {
    this.collection.each(function(item) {
        this.renderItem(item);
    }, this);
  },
  renderItem: function(item) {
    var itemView = new ItemView({ model: item });
    this.$el.append(itemView.render().el);
  }

});

$(function() {  
  var cart = new CartCollectionView();
});