我无法将tbranyen/backbone.layoutmanager布局定义为requirejs模块。我对这个很新,而不是javascript中的大师。 Backbone.Layout
定义为at this line of source code。 Ayway ...
首先尝试:
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不是函数
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();
这甚至可能吗?
答案 0 :(得分:1)
您需要为布局管理器传递一个参数才能使用它,例如
define([
'backbone',
'lodash',
'backbone.layoutmanager'
], function (Backbone, _, Layout) {
return Layout({
template: 'body'
});