2015-11-07 73 views
0

我有以下路由器 var watchlistEditView = new WatchlistEditView({});骨幹視圖和路由器 - 查看instanciated多次

router.on('route:editWatchlist', function(id) { 
    console.log("routing to editWachlist"); 
    console.log(id); 

    var watchlistEditView = new WatchlistEditView({ }); 
    watchlistEditView.render({id: id}); 
}); 

我注意到,我的觀點的多個實例,所以當我執行操作,它在每一個實例觸發,這不是我想要的。

每次調用路由器時都可以創建新視圖嗎? 我怎麼能阻止視圖多次實例化?

謝謝

回答

0

這是一個很好的研究,因爲它涉及很多事情。內存管理,監聽器綁定以及實際上主幹處理的內容都是在您創建和銷燬視圖時處理的。 我推薦閱讀這篇文章。

https://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/

其實我創建和銷燬我需要用什麼骨幹木偶框架和佈局工作時在後臺和骨幹觀看它使好像如果我增加了一個新的視圖中的視圖顯示幾項檢查一個已經看到的地區和其他東西。

我建議不斷創建它們,並在必要時尋找何時銷燬它們。

+0

舉例來說,每當你從視圖創建一個監聽器到一個模型時,你實際上都會綁定一些東西,當你摧毀視圖時,你只是停止監聽,你不想自己處理這些東西 –