在RequireJs和Backbone App中放置代码的位置

时间:2013-01-15 13:39:22

标签: backbone.js requirejs

做我的第一个骨干应用程序,我使用的结构有些like this tutorial

我想知道在哪里放置我的onload代码的正确位置,比如设置onclick听众等等?

我有:

简单的Bootstrap

require.config({
  paths: {
    jquery: 'libs/jquery/jquery',
    underscore: 'libs/underscore/underscore',
    backbone: 'libs/backbone/backbone'
  }

});

require([

  // Load our app module and pass it to our definition function
  'app',
], function(App){
  // The "app" dependency is passed in as "App"
  App.initialize();
});

App.js

define(['routers/search'], function(router){
  var initialize = function(){
      this.router = new router();
  } 
  return { initialize: initialize};
});

然后在路由器中调用相关功能的简单路由器也定义为根据页面调用路由器上的相关功能的模块。

我的感觉是路由器中的这个功能是我应该放置我的onload代码的地方。这是对的吗?

1 个答案:

答案 0 :(得分:1)

一种可能性是使用RequireJS domReady插件(可以从他们的短插件列表下载):http://requirejs.org/docs/api.html#pageload

以下是他们给出的例子:

require(['domReady'], function (domReady) {
  domReady(function () {
    //This function is called once the DOM is ready.
    //It will be safe to query the DOM and manipulate
    //DOM nodes in this function.
  });
});

那么你可以将它合并到你的普通RequireJS结构中,知道DOM已加载以及你可能已经列出的任何其他依赖项。