我有一个使用文字的视图(HomeView
)渲染模板!插入。
这是主页视图:
var HomeView = Backbone.View.extend({
initialize: function() {
myCart.updateQtyLabel("qtyCart");
},
el: '#webbodycontainer',
events : {
"click #addToCart" : function(){
myCart.addToCart(newItem);
myCart.updateQtyLabel("qtyCart");
$("#containernewpromotion").html(promotionItem);
}
},
render : function(){
this.$el.html(homePanel);
$("#containernewpromotion").html(promotionItem);
}
});
这是html模板:
<% var items = deserializeJSONToObj(localStorage.getItem("Cart"));%>
<% if(items != null){ %>
<% var i = 0; %>
<% _.each(items, function(item) { %>
<% if (i < 4){ i++; } else { return false; }%>
<div class="promotionColumn">
<div class="itemImg">
<a href="#itemDetail"><img src="<%=WebConfig.PartImageBrand + item.PictureName%>" width="135px"/></a>
</div>
</div>
<% }); %>
<% } %>
这是itemDetail
视图:
var ItemDetailView = Backbone.View.extend({
initialize: function() {
alert("test");
},
render: function(){
alert("test2");
}
});
当我点击<a href="#itemDetail">
时,我在Chrome控制台event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
中收到了一条警告消息,alert
中的ItemDetailView
无效。
网址为/#itemDetail
,但HomeView
中使用的模板仍显示在itemDetail
路由器中。我在浏览器中按HomeView
时会从itemDetail
页面中删除refresh
个内容。
任何想法可能导致这个问题。感谢。
答案 0 :(得分:0)
骨干视图中的事件对象具有以下结构
"events" : {
"event selector" : "handler"
},
"handler" : function(){
}
events对象中的值是字符串,而不是函数。