1

我无法将tbranyen/backbone.layoutmanager布局定义为 requirejs 模块。我对此很陌生,而不是 javascript 的专家。在这行源代码Backbone.Layout中定义。反正...

第一次尝试

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

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

});

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

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

layout.render();

给我 (?!?):

类型错误:this._configure 不是函数

this._configure(options || {});

第二次尝试(注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();

这甚至可能吗?

4

1 回答 1

1

您需要为布局管理器传递一个参数才能使用它,例如

define([
    'backbone',
    'lodash',
    'backbone.layoutmanager'
], function (Backbone, _, Layout) {
return Layout({
    template: 'body'
});
于 2012-08-16T07:51:17.097 回答