我的背景是jQuery / require.js / backbone.js!
为了拓宽视野,我正在仔细研究道场
在backbone.js中,您有视图组件。有些人宁愿说它是控制器
因此,如果我想设置一个新的页面控制器,我会生成一个新的backbone.js视图,并且我有一个非常好用且有用的方法集合。
我找到了一个针对页面级控制器的Dojo 1.7教程(http://dojotoolkit.org/documentation/tutorials/1.7/recipes/app_controller/)。但是我很惊讶地发现页面作者从头开始完成整个控制器。
他在摘要中写道:
控制器可能来自一个类。
也许,为了保持教程简单,他没有提到你通常用于这种真实世界控制器的基类。
或者你真的没有可以使用的基类吗?
也许有一些持有许可证的第三方课程?
非常感谢提前
沃尔夫冈
更新:
谢谢Chris Mitchell的回答。我很高兴听到dojo客户端mvc有很多发展
所以jQuery / jQuery UI / backbone.js堆栈可能在这个页面控制器问题上领先一步。但是道场确实是一个很好的框架
我想,据我所知,与MVC WIDGETS有关的dojo比jQuery UI提供的更多:
Dojo小部件已经有小部件模板,而jQuery UI目前没有这个
如果你看一下jQuery Ui小部件的源代码,就没有这样的分离,HTML代码片段是用Javascript“构建”/连接的,这很难维护。
根据Boris Moore的博客文章(http://www.borismoore.com/2011/10/jquery-templates-and-jsviews-roadmap.html),jQuery UI团队可能会朝同一方向发展。
一般来说,在jQuery领域我还没有看到很多mvc小部件:
一个例子是带有backbone.js模型的jQuery自动完成插件
(http://www.planbox.com/blog/news/updates/jquery-autocomplete-plugin-for-backbone-js.html)。
答案 0 :(得分:3)
您链接的教程中描述的MVC模式只是如何使用Dojo完成MVC的一个示例。
Dojo社区正在开发两个新子项目,以正式化Dojo对MVC的“官方”方法。请记住以下几点:在1.7中,这些子项目目前是实验性的,API将根据早期反馈和在许多项目中的使用在1.8时间范围内进行更改。
正在处理的第一个包是dojox / mvc。该软件包处理视图与其模型之间的数据绑定问题。
正在开发的第二个包是dojox / app。该软件包处理应用程序级控制器问题,例如查看导航视图,查看生命周期,在视图之间共享模型数据。
两个软件包都可以一起使用,但任何一个软件包的使用都是可选的。
要查看正在使用的dojo / mvc的一个好例子,请查看James Thomas最近的博文: http://jamesthom.as/blog/2012/02/26/dojomvc-models/
James贡献Dojo示例的Todo MVC应用程序是了解现代图书馆之间客户端mvc方法之间差异的好方法。
围绕这两个项目都有很多发展,样本应用程序在1.8时间范围内。
答案 1 :(得分:2)
这是一个非常有趣的问题。
我一直在使用Dojo很长一段时间(5年以上),我不知道套件里有这样的东西。
在客户端JS中实现完整的MVC模式似乎是一个相对较新的想法(至少,我在过去几年中只听说过)。这似乎是一个好主意。
它似乎与Dojo特别相关,因为它对大型单页应用程序有这样的支持。我的观点是Dojo闪耀的地方。管理整体客户端应用程序的一致的,基于MVC的方式似乎是有益的。
其中一个最终会被应用程序构建的东西,为什么不把它变成官方?
更新
邮件列表中有人提到有一个dojox.mvc项目。