让木偶布局像骨干视图一样呈现
-
21-12-2019 - |
题
我试图让木偶布局像骨干视图一样呈现。也就是说,我已经声明了一个tagName和一个id,我希望它根据它生成一个dom元素。对于这样一个简单的元素,仅仅为了这个而制作一个模板存根似乎是多余的。
HTML格式:
<body><div id="page"></div></body>
测试代码:
var HeaderBar = Backbone.Marionette.Layout.extend({
tagName: "div",
id: "headerBar"
});
/*========== APP Tests ============*/
App = Marionette.Application.extend({});
var MyApp = new App();
MyApp.addRegions({
pageRegion: "#page"
});
var header = new HeaderBar();
MyApp.pageRegion.show(header);
但是,从应用程序调用show会引发TemplateNotFoundError。
我正在寻找一种方法,让Marionette在没有模板的情况下渲染这个,而不必在库中命令渲染函数。
解决方案
尝试使用
var HeaderBar = Backbone.Marionette.Layout.extend({
template: _.template("<div></div>"),
id: "headerBar"
});
.
其他提示
Layout
s需要一个模板,因为它们需要渲染它们内部的区域。如果您没有在布局中使用任何区域,则不需要使用 Layout
;使用 ItemView
相反,:
var HeaderBar = Backbone.Marionette.ItemView.extend({
tagName: "div",
id: "headerBar"
});
然后使用它作为正常与您的区域。
如果你这样做,但是,需要区域内 HeaderBar
, ,那么是的,你需要一个模板与 Layout
.
不隶属于 StackOverflow