我已经用 Javascript 编程了一段时间。最近我做了一个相当大的 jQuery 项目并应用了这篇精彩文章中描述的模块模式:http: //www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth
这一切都很顺利,而且代码看起来很流畅且易于管理,但我觉得它可能会更好。我花了一天时间寻找一些 Javascript 框架,主要是那些:
- 有 UI 绑定支持
- 有一个模板系统
- 可以使用 jQuery
- 帮助我以与模块模式类似的方式组织我的代码
我偶然发现了 AngularJS、KnockOutJS、SpineJS、JavascriptMVC 等框架。真正突出并受到称赞的框架是 EmberJS。
我决定试一试,但这并不容易。EmberJS 教程的可用性非常有限。在尝试了很长时间之后,我设法让一些东西运行起来,我喜欢 EmberJS 所做的!只有一件事我似乎无法弄清楚 - 这也是我的问题:如何扩展 Ember 命名空间(使用 Ember.Application.create 制作)?
澄清一下:我的项目的旧版本有一个 Core-namespace 和一个 Util-namespace。两者都包含它们各自的所有其他类都可以使用的功能。如何在初始命名空间之上拥有具有函数的 Core- 和 Util-命名空间?
我只是这样做:
MyNamespace = Ember.Application.create();
MyNamespace.Core = Ember.Application.create();
MyNamespace.Util = Ember.Application.create();
或者是其他东西?