在我的 index.html 中,我有空<body>
标签。我有一个加载视图内容的视图(通过 icanhaz)。我想要一个全局区域(绑定到 body 标签)并通过视图将一些内容放入其中。我遇到的问题是它将整个新的正文标签放入现有的正文标签中。
这是应用程序:
var Application = new Marionette.Application();
Application.addRegions({
bodyRegion: new Marionette.Region({el: "body"})
});
Application.addInitializer(function(options) {
Application.bodyRegion.show(new RootView());
});
这是我的根视图:
Backbone.View.extend({
tagName: 'body',
initialize: function(options) {
logger.init('root');
loader.loadTemplate(template);
this.headerView = new HeaderView();
this.usersView = new UsersView();
},
render: function() {
logger.render('root');
this.$el.html(ich.rootTemplate);
this.headerView.setElement(this.$el.find('#header')).render();
this.usersView.setElement(this.$el.find('#main')).render();
return this;
}
});
这是我的 root.ich:
<script id="rootTemplate" type="text/html">
<div id="header"></div>
<div class="container" id="main"></div>
</script>
我遇到的问题是在渲染后我在另一个标签内有一个标签。如果我不使用 Marionette 而是使用普通的主干视图,请使用以下几行:
var rootView = new RootView();
rootView.setElement('body').render();
一切正常。我究竟做错了什么?