2016-01-18 76 views
0

我準備第一次用Backbone構建一箇中型網站。有7個菜單項,我無法弄清楚在性能方面什麼是最好的路由/視圖關係。當路由被觸發時,每次觸發時是否創建一個「活動」視圖的新實例,或者是否只在用戶加載頁面時爲每個視圖創建一個視圖實例?骨幹路由和查看關係

...什麼是處理視圖的最佳方式 - 添加和刪除dom元素和事件,而不會影響性能。例如

$('selector').html(my-new-view); 

回答

0

如果沒有改變,您只能創建一次菜單。你可以像這樣創建一些html模板。

<div> 
    <nav>render-here-only-one</nav> 
    <section>render-here-when-page-changes/loads</section> 
</div> 

我更喜歡骨幹的渲染方法初始化和追加本身。

var testView = Backbone.View.extend({ 
    el: $("#section"), 
    template:_.template("<strong>hello.</strong>") 
    initialize: function() { 
     // any change on view will trigger render 
     _.bindAll(this, "render"); 
    }, 
    render: function (item) { 
     this.el.html(this.template()); 
    } 
}); 

var myView = new testView(); 
    myView.render();