2012-02-02 127 views
3

我正在使用Backbone/RequireJS为我的应用程序提供模块化和结构。有一件事我要提出来,并且非常感谢这方面的一些建议。Backbone/RequireJS模型数据存储

当用户访问该页面时,发生的第一件事情是某些JSON填充了几个模型。我希望这些模型可以在应用程序中使用,因为它们包含程序的数据和支持。是否允许使用window.modelName,或者您推荐另一种/更好的方法来完成此操作?

回答

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'); 
+0

非常感谢!我需要一些时间来思考这些问题。 – 2012-02-03 19:08:03

+1

很高兴,你可以找到更多关于理由,如果你谷歌的单身人士或模块模式 – ggozad 2012-02-03 19:15:59

+0

我觉得这个项目告诉我,我比我想的JS本身弱。再次谢谢你! – 2012-02-03 19:17:05

相关问题