我知道这是一个非常普遍讨论的话题,但我找不到任何能准确回答我的问题的东西:)
我目前正在开发一个 Backbone.js 项目。路由器方面,我不会在路由器中实例化视图、模型或集合,而只是将路由器用作处理状态的一种方式——路由器调用我的自定义控制器对象上的方法。
然后我的控制器为索引、显示等实例化不同的视图、模型和集合。这一切都很好。
我只是在如何处理页面转换方面有点挣扎。我已经阅读了所有关于管理僵尸等的精彩文章,并且知道无论发生什么我都必须有一些旧视图的清理系统(我目前正在使用 Derick Bailey 博客中提到的 .close() 方法)。
如果我要从#show 到#index,或任何其他路线更改,我知道只实例化新的、新鲜的视图、模型等是有意义的——这几乎是我在每个教程中看到的。当然,确保清理旧的。
但是,如果我已经在#show 上说,并且我路由到另一个#show 页面,那么我想要的所有视图等都已经实例化和呈现。我只想更改模型和集合的数据。
所以我想我的问题是为什么我看不到人们重用视图的频率很高。在我的脑海中,我在想如果你已经在你想要的页面上,那么只更新该视图链接到的模型/集合的 url 或 urlRoot 并重新获取会更有意义。然后这将触发一个重置事件,并且所有需要的视图都可以订阅并重新呈现自己。
但是,正如我所说,我没有看到人们这样做。仅仅是因为这是一个非常糟糕的主意吗?如果有人在做这样的事情,你如何处理跟踪“可刷新”模型和集合?
谢谢!