2012-04-25 49 views
0

我有一个Backbone视图作为requirejs模块。问题是requirejs在视图被初始化之前加载http://localhost/remote/script/here.js。是否因为脚本不在requirejs模块中?RequireJS在视图初始化之前加载脚本

define([ 
    'jquery', 
    'undescore', 
    'backbone', 
    'http://localhost/remote/script/here' 
], function($, _, Backbone, Luajs){ 
    var View = Backbone.View.extend({ 
     initialize : function(options) { 
     }, 
     render : function() { 
      this.$el.html('<p>my view</p>') 
      return this; 
     } 
    }); 

    return View; 
}); 

回答

1

你作为第一个参数define数组是的视图的depedencies。所以是的,它在View之前被加载和解析。 另请注意,除非您使用主干和下划线的修改版本,否则它们不符合AMD标准。你将需要用一个插件来包装它们以正确加载它们。

+0

我使用主干和下划线的修改版本。为了加载异步我的脚本,我必须将它们包装在一个define()中? – chchrist 2012-04-25 15:39:34

+0

define需求参数中的模块异步加载。当它们被加载时,定义中的函数被调用。 – ggozad 2012-04-25 16:26:33

+0

嗯,所以我无法控制何时加载它们? – chchrist 2012-04-25 16:31:59

0

您试图在加载模块后定义视图Backbone。 您可以在RequireJS的define()方法中执行此操作。该函数的数组包含定义模块依赖关系的参数。

相关问题