我决定将应用程序路由更改为客户端而不是服务器端.这意味着当用户浏览网站时,我需要一种方法来切换页面内外的视图.我唯一可以找到尝试记录这一点的是本文:如何使用Backbone.js切换视图
我知道这是如何工作的,但我认为这不是一个好方法.我想保留我的观点 - 因为这是重点吗?为您的应用程序的可区分部分提供单独的视图?我认为拥有一个大的"ContentView",然后只是将其中的东西拉进去并重新渲染有点粗糙,并绕过所有酷的模块化,否则你可以做.
那么最好的方法是什么呢?理想情况下,我想要一个类似于上述文章中记录的功能,但是以骨干视图作为其参数.
Der*_*ley 37
我写了几篇关于这个主题的文章:
还有一个更新的从这篇文章中获取想法并将其更正式化:
http://lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions-and-region-managers/
在大多数情况下,重复使用视图实际上是一种反模式.通常会有很多额外的代码和额外的错误涉及到持有查看实例,让他们重新连接到DOM并正确处理已注册的DOM事件.此外,您冒着内存泄漏的风险(我的第一篇文章谈到)并通过耗尽太多内存来破坏您的应用程序性能.
如果您的视图使用"昂贵"资源,则应将该资源缓存在视图之外并重新使用它.您的视图应该便宜且快速地创建,渲染,显示和销毁.