7

呃,很难为这个问题找到一个正确的标题,对不起。

在我正在构建的一个主干.js 应用程序中。模型、视图、模板都在单独的 javascript、html 文件中。我想将模型、视图和模板导出到应用程序引导程序文件 (app.js) 而不污染全局变量,即这样做window.App.Model = myModel;。通过导出,我的意思是使文件中的代码可用于 app.js 进行初始化和运行

  1. 我该怎么做呢?

  2. 有什么模式可以解决问题吗?你能给我一个例子吗

描述

在模型、视图和模板被拆分为许多不同文件的情况下,应用程序引导文件 app.js 应该有一些方法来访问这些 M、V、C 组件。因此,常见的方法是在 model.js 文件中执行以下操作

window.App.Model.PersonModel = Backbone.Model.extend({});

应用程序.js

var instance = new window.App.Model.PersonModel();
var personView = new window.App.Views.PersonView({model:instance});

最后,您会看到一切都源自 Global 对象App,我认为这是构建应用程序依赖项的不安全、不正确和弱的方法

建议

就上面的问题,有人可以建议一个模板加载库(javascript模板,不管使用什么引擎),可以用来加载模板

4

1 回答 1

3

看看RequireJS,它支持异步模块定义/加载。您必须重写您的模块以app.js满足AMD api的要求,但只需要几串代码。

于 2012-11-26T09:07:55.727 回答