我正在使用 backbone.js 重构一个旧应用。
当通过TodoList tuto时,我仍然不确定一切应该如何组合在一起。
现在,我有:
初始化的GlobalController
,它处理全局应用程序范围的路由&其他对象初始化。
此GlobalController
初始化GlobalAppView
(全局应用范围内的操作,例如如何处理ajax点击)&之后,我的应用程序中的所有其他控制器。
Thoses控制器(如TagController
)初始化自己的集合(BlueTagList
& a RedTagList
扩展App.TagList
集合),存储在window
命名空间(它应该在控制器命名空间中吗?)。
然后,在我的视图中的某处调用控制器TagsController->render('BlueTagListView', {el: '#container', collection : BlueTagList, data : ...});
这个方案有没有流量? 感谢。
答案 0 :(得分:1)
我个人认为,如果Backbone.js重新命名了一些东西,情况会更清楚。
Models -> Models
DOM subtrees-> Views ( view.el in the backbone case )
Views -> Controllers
Controllers -> HashchangeController ( A specialized type of controller )
Backbone.js是一个MVC框架,但它只是一个有点奇怪的命名约定。它有点暗示你必须使用Backbone.Controller或者你只是做一个模型/视图。但是不要感到有压力要这样做。
没有Backbone.Controller构建应用程序是完全可以的,除非你 真的需要可收藏的链接。如果你那么冷却,但这不是绝对必要的。 URL栏只是页面上的另一个小部件,您可以编写控制器来响应。
或许考虑上面的组件会让您更轻松。