簡體   English   中英

骨干視圖不刷新事件

[英]Backbone view not refresh event

我有一個視圖( 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.收到了一條警告消息event.returnValue is deprecated. Please use the standard event.preventDefault() instead. event.returnValue is deprecated. Please use the standard event.preventDefault() instead. ,並且ItemDetailView alert ItemDetailView

網址為/#itemDetailHomeView使用的模板仍顯示在itemDetail路由器中。 當我在瀏覽器中按下refresh時,從itemDetail頁面中刪除了HomeView內容。

請問有什么可能導致這種情況。 謝謝。

骨干視圖中的事件對象具有以下結構

"events" : {
    "event selector" : "handler"
},
"handler" : function(){

}

events對象中的值是一個字符串,而不是一個函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM