我正在开发具有多个“部分”的 Backbone.js 应用程序。每个“部分”可能有多个路线,但共享一个集合。这是一个简单的示例(带有“a”和“b”部分):http: //jsfiddle.net/scttnlsn/LW4Ny/
在这个例子中,所有的集合都是在路由器初始化时获取的,这样它们就可以在多个路由之间共享,而无需在每个路由处理程序中重新获取。起初这似乎很好,但当共享集合的数量开始增长时,我对继续这种方式持谨慎态度。此外,为用户可能永远不会访问的“部分”获取集合似乎很愚蠢——我更愿意按需加载数据。
显而易见的替代方法是在每个路由处理程序中获取数据,而不是在路由器初始化时获取数据。这意味着只获取实际需要的数据,但是,当在同一“部分”中的路由之间移动时,它仍然最终会执行不必要的获取。收集数据将不再有任何“共享”。
处理这种情况的好方法是什么?我觉得我需要实现某种类似缓存的结构。有现成的解决方案吗?
谢谢!
-斯科特