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