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>£<%= 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();
});