问题 控制器与Backbone.js中的App级视图


我正在尝试接收Backbone.js,我正在尝试解决的一个问题是人们如何在Backbone中有效地使用控制器。

我注意到控制器稍后在框架中添加,并且由于浏览器和DOM的设置方式,这些视图具有大量的控制器逻辑。此外,Backbone网站上的TODO列表示例是在没有控制器的情况下实现的。

所以我只是不清楚如何使用骨干的控制器方面。如果有人能够对这个话题有所了解,我真的很感激。

谢谢! 马特


4130
2018-02-06 19:50


起源

jamesyu.org/2011/01/27/... - Heikki


答案:


Backbone.View和Backbone.Controller之间的区别在于Controller具有路由体系结构和相应的Backbone.History()侦听器,后者在哈希标记(#)之后关注URL的一部分。

从根本上说,这意味着Backbone.Controller提供可收藏的URL。因为您可以手写哈希部分并将它们加入书签,所以Bookmark.Controller应该只引用显示GETtable项目的对象。

我写了一个小教程, http://www.elfsternberg.com/2010/12/08/backbonejs-introducing-backbone-store/,Backbone Store的Sammy教程的一个端口。如果您按照指向GitHub存储库的链接,您也可以获得最新版本。


12
2018-02-08 05:19



很棒的写作。非常感谢! - Matt
这有点过时了。 Backbone中不再有控制器(现在称为 Router),和 View 真正执行大多数人期望Controller做的功能。真正的视图只是dom,可以更新任何DOM lib的风格。 - Roatin Marth
是的,但如果你看看差异,“控制器”和“路由器”之间几乎没有名称变化,而View始终是主要的控制器机制。这个变化澄清了事情(毕竟你确实希望路由到可收藏的书签),但根本不会弄乱底层逻辑。 - Elf Sternberg