我正在使用Backbone / RequireJS为我的应用程序提供模块化和结构。我有一件事要反对,并非常感谢这方面的一些建议。
当用户访问该页面时,首先发生的是一些填充了几个模型的JSON。我希望这些模型可以在应用程序的任何地方使用,因为它们包含程序的数据和支持。是否允许使用window.modelName
,或者您是否建议采用其他/更好的方法来实现此目标?
答案 0 :(得分:1)
使用您建议的解决方案首先违背了使用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');