【发布时间】:2012-02-02 20:54:50
【问题描述】:
我正在使用 Backbone/RequireJS 为我的应用程序提供模块化和结构。我遇到了一件事情,非常感谢这方面的一些建议。
当用户访问页面时,首先会发生一些填充几个模型的 JSON。我希望这些模型在我在应用程序中的任何位置都可用,因为它们包含程序的数据和支持。是否允许使用window.modelName,或者您是否推荐另一种/更好的方式来实现这一点?
【问题讨论】:
标签: backbone.js requirejs
我正在使用 Backbone/RequireJS 为我的应用程序提供模块化和结构。我遇到了一件事情,非常感谢这方面的一些建议。
当用户访问页面时,首先会发生一些填充几个模型的 JSON。我希望这些模型在我在应用程序中的任何位置都可用,因为它们包含程序的数据和支持。是否允许使用window.modelName,或者您是否推荐另一种/更好的方式来实现这一点?
【问题讨论】:
标签: backbone.js requirejs
使用您建议的解决方案首先违背了使用 AMD 的全部目的。 像这样定义一个模块(我们称之为全局):
define(function (require) {
var globals = function () {
return {};
};
return globals();
});
现在,当你初始化时你可以给它添加值:
globals = require('globals');
globals.mymodel = new MyModel();
mymodel.fetch();
稍后,您可以从任何其他模块访问您的全局模块:
globals = require('globals');
console.log(globals.mymodel.get('myattr');
【讨论】: