【问题标题】:Controller - Where to connect views and models in Backbone?控制器 - 在 Backbone 中连接视图和模型的位置?
【发布时间】:2012-04-24 10:05:19
【问题描述】:
  • 我的第一种方法是让每个视图初始化 (new) 自己的模型,但随着项目的发展,随着添加更多视图,维护变得越来越困难。

  • 另一种方法是让应用级视图完成这项工作。

因为 Backbone 没有提供 Controller 类。在 Backbone 中的中型项目中连接视图和模型的最佳做法是什么?

我知道这是另一个来自 MVC 新手的 Backbone Controller 问题!而且那个 Backbone 不是严格的 MVC。我只在 SO 中找到了一些关于这个问题的答案,这些答案已经过时并且混合了路由器和控制器的概念。

【问题讨论】:

  • 您能详细说明您在第一个项目符号中提到的困难吗?
  • 这主要是由于某些视图(和模型)被嵌套,越来越难以跟踪哪个视图初始化了哪个模型。很快它就变成了依赖的噩梦。

标签: model-view-controller controller backbone.js


【解决方案1】:

只需在创建视图时通过在传递给视图构造函数的配置对象中指定模型来连接它们:

var MyModel = Backbone.Model.extend();
var myModel = new MyModel();
var MyView = Backbone.View.extend();
var myView = new MyView({model: myModel});

【讨论】:

  • 这在应用程序的哪个部分做得最好?在应用程序的根目录中? $(function(){/* */})... 页面加载?
  • 这取决于您决定如何构建应用程序。如果您使用 AMD 方法,我强烈建议您考虑使用模块化主干引导程序 github.com/suprememoocow/modular-backbone-bootstrap
猜你喜欢
  • 2014-01-18
  • 2013-08-28
  • 2011-07-15
  • 2012-04-11
  • 1970-01-01
  • 2013-07-15
  • 1970-01-01
  • 1970-01-01
  • 2011-07-18
相关资源
最近更新 更多