2015-11-07 90 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

举例来说,每当你从视图创建一个监听器到一个模型时,你实际上都会绑定一些东西,当你摧毁视图时,你只是停止监听,你不想自己处理这些东西 –