javascript - Backbone.js View 和模型相关性?

标签 javascript backbone.js

背景:我是第一次使用 Backbone。在我的项目中,我有一个“主”模型——我们称它为Customer。在任何时候,只显示一个 Customer。我有一个 CustomerList 集合,它对 Customer 进行排队。单击按钮,将显示下一个 CustomerCustomerView 完成所有渲染等工作。

问题:每次我们切换到下一个Customer 时,我是否应该创建一个新的CustomerView 实例?另一种可能性(我开始时采用的)只是 View 的一个实例并将模型传递给 View 的渲染函数 (view.render(model))。这样,我就可以从 List 中获取下一个 Customer,将其传递给 View 的渲染函数,仅此而已。我想知道这是否适合 Backbone 的 MVC 模式?获取新模型、终止当前 View 并创建新 View 实例似乎更“标准”。

有经验的 Backbone 开发人员有什么建议吗?谢谢。

最佳答案

如果唯一改变的是实际模型,那么您绝对应该保留 CustomerView 并简单地为其提供一个新模型来显示。

这肯定与功能分离的 MVC 概念有关。 CustomerView 只需要相关数据(由模型提供)来执行其呈现 View 的任务。

这样想 - 是否有任何需要重置您的 CustomerView 模块?它根本不应该保存和建模特定信息,所以从本质上讲,它不应该关心您是否更改模型 - 只需要在数据更改后重新呈现它。


如果用户导航到与客户无关且无法查看客户详细信息的应用程序的不同部分,我认为完全“杀死”当前 View 是有意义的。只有这样,完全释放不需要的模块才有意义。

关于javascript - Backbone.js View 和模型相关性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27358109/

相关文章:

javascript - 下划线模板抛出变量未定义错误

javascript - 如何更改 JointJS 中自定义对象的属性?

javascript - 主干集集合属性(用于url)

Javascript 正则表达式 : is there anyway to write a regex which gives true if backreference is NOT matched

javascript - 在使用 Javascript 进行 CSS 3D 转换后获取 div 的真实 2D 顶点坐标

javascript - 在javascript中将 float 舍入到下一个整数

javascript - 未捕获的类型错误 : Cannot read property 'app' of undefined

javascript - VSCode 中的 Intellisense 用于 Electron 应用程序开发

javascript - 为什么重定向 404 错误会导致 js 文件返回 HTML?

javascript - Backbone.js - 无法获取数据以进行收集