【发布时间】:2015-03-06 08:56:04
【问题描述】:
我最近一直在玩 Meteor,我很喜欢它,但是进入一个项目 5 分钟后,我在调用 {{ pageRender }} 后遇到了渲染模板的问题(请注意,特别是 {{>renderPage }}渲染 Iron Router 被告知要渲染的内容并忽略任何其他调用。)
下面的当前代码工作得非常好,因为它仍然是基本配置,但是页脚模板在动态页面呈现“之前”被调用,这导致页脚出现在所有页面内容之上。我也尝试将页脚文本移动到 main.html 中,但页脚仍然在 {{ renderPage }} 内容之前呈现。
Iron Router Js:
Router.route('/', function () {
this.render('Home', {
//data: function () { return Items.findOne({_id: this.params._id}); }
});
});
HTML 源代码:
<head>
<title>NDA Site</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap-theme.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
</head>
<body>
<!-- Render Navigation -->
{{> navigation }}
<!-- Render Page (Anything gets closed before render is called canceling grid out. Grid has been moved to each template for accuracy)-->
<div class="renderPage-wrapper">{{ renderPage }}</div>
<!--{{> footer }}
footer will not render after renderPage. Footer has been added to main.html as show below-->
<div class="container"><div class="row">
<div class="col-lg-6">
<p>YourSite © {{year}}. All rights reserved.</p>
</div>
<div class="col-lg-6 text-right">
<p>Powered by: NDA Site 0.1.2</p>
</div>
</div></div>
</body>
模板来源:
<template name="footer">
<div class="container"><div class="row">
<div class="col-lg-6">
<p>YourSite © {{year}}. All rights reserved.</p>
</div>
<div class="col-lg-6 text-right">
<p>Powered by: NDA Site 0.1.2</p>
</div>
</div></div>
</template>
有变通的想法吗?或者解释为什么在客户端运行 {{ renderPage }} 后渲染层次结构被忽略?
真诚地, 威利 (Doc) W.
【问题讨论】:
标签: javascript html meteor iron-router