我想通过呈现
来渲染我的页面问题是,当我渲染这两个部分时,正文没有包含在.content
div中,这里有一些代码:
<html>
<head></head>
<body>
<div id="content">
<script type="text/template" id="header-template">
<div>navbar</div>
</script>
<div id='header-container'></div>
<script type="text/template" id="body-template">
<p>Welcome !</p> <!-- Is not wraped inte the #content div -->
</script>
</div>
</body>
</html>
使用backone我只是这样做:
hearder.render();
body.render();
谢谢!
答案 0 :(得分:0)
您的HTML完全被破坏:您的模板有一个未公开的<div>
,但页面上有一个无法匹配的</div>
关闭标记。看起来您正在尝试某种document.write
样式模板,其中第一个模板打开标记,后一个模板关闭它。我不推荐它。查看关于如何将视图呈现给某个元素的Backbone.View documentation。
基本上你应该在DOM中有容器元素:
<div id="header-container"></div>
<div id="content"></div>
<div id="footer-container"></div>
然后将视图渲染到元素:
body.render({el:"#content"});
或者:
body.render();
$("#content").html(body.el);
我敢打赌如果你解决这些问题,可能会有所改善。