我似乎无法渲染我的页面。这很简单,但我一直在得到一个空白页面。当我替换{{> yield {} with {{>在layout.html中,一切都很好。但是,当我尝试使用router.js设置所有内容时(我至少认为我安装正确)我得到的不是。关于如何排除故障的任何想法?
这是/ lib
中的一个简单的router.jsRouter.configure({
layoutTemplate: 'layout'
});
Router.map(function() {
this.route('homePage', {path: '/'});
});
这是/ client / views / application中的简单layout.html
<body>
{{> header}}
<div id="articlesList" class="col-sm-2">
{{> articlesList}}
</div>
<div id="main" class="col-sm-10">
{{> yield}}
</div>
<div class="clear"></div>
<footer id="footer">
{{> footer}}
</footer>
</body>
这是我的模板(home_Page.html)我希望在/ client / views / home中呈现:
<template name="homePage">
<section id="slider" class="col-sm-12">
{{> slider}}
</section>
<div class="container">
<article id="featuredArticle" class="col-sm-8">
{{> featuredArticle}}
<img src="/images/bottom-ad.png" />
</article>
<aside id="sidebar" class="col-sm-4">
{{> sidebar}}
</aside>
</div><!--container-->
</template>
答案 0 :(得分:3)
您指定了layoutTemplate,但尚未在任何地方定义它。
创建名为“layout”的模板并剪切/粘贴您的身体内容:使用Iron Router,您无需明确填充正文,路由器会为您执行此操作。
<template name="layout">
<!-- content you put in <body> goes here ! -->
</template>