2012-08-15 63 views
1

我不能definie tbranyen/backbone.layoutmanager布局为requirejs模块。我对此很新,而不是JavaScript中的大师。 Backbone.Layout定义at this line of source code。 Ayway ...定义Backbone.Layout如需要JS模块?

首先尝试

define([ 
    'backbone', 
    'lodash', 
    'backbone.layoutmanager' 
], function (Backbone, _) { 

    return Backbone.Layout({ 
     template: 'body' 
    }); 

}); 

使用模块中的另一个(主):

var layout = new ApplicationLayout(); 
$('body').empty().append(layout.el); 

layout.render(); 

给我(?!?):

TypeError: this._configure is not a function

this._configure(options || {});

小号的Econd尝试(注new):

define([ 
    'backbone', 
    'lodash', 
    'backbone.layoutmanager' 
], function (Backbone, _) { 

    return new Backbone.Layout({ 
     template: 'body' 
    }); 

}); 

使用另一个模块(通常是主要的):

$('body').empty().append(ApplicationLayout.el); 
ApplicationLayout.render(); 

不行的,这意味着HTML是不<body>注射。似乎得到这个工作的唯一方法是创建并在同一个地方呈现布局,主要模块:

var layout = Backbone.layout({ template: 'body' }); 
$('body').empty().append(layout.el); 

layout.render(); 

这甚至可能吗?

回答

1

你需要传递一个参数的布局管理器,以便使用它,例如

define([ 
    'backbone', 
    'lodash', 
    'backbone.layoutmanager' 
], function (Backbone, _, Layout) { 
return Layout({ 
    template: 'body' 
}); 
+0

任何消息,工作的呢? – schacki 2012-08-20 22:56:06

相关问题