我是Meteor的新手,对javascript的经验有限。我已经搜索了所有的堆栈帖子和网页,以获得关于如何使用Iron Router程序包来路由静态页面的一个很好的教程,似乎无法想象它。我很想有人帮助我了解如何为Home和About设置router.js文件。我已经玩了很多代码,但这是我在发布之前所拥有的。事实上,我似乎正在努力掌握路由的工作原理以及铁路由器的所有各种功能,然后将这些路由连接到导航栏,我可以在它们之间导航。提前感谢您提供的任何帮助。
的客户机/模板/应用/的layout.html
<template name="layout">
<div class="container">
{{> yield}}
</div>
</template>
LIB / router.js
Router.configure({
layoutTemplate: 'layout'
});
Router.route('/', function () {
this.render('home', {
template: 'home'
});
this.render('about', {
template: 'about'
});
});
模板/ home.html的
<template name="home">
<div class="container">
<h2>Home</h2>
</div>
</template>
答案 0 :(得分:1)
您上面的代码看起来是正确的。
一个怪癖是你为/
路线渲染两页。你应该这样:
Router.route('/', function () {
this.render('home', {});
});
Router.route('/about', function() {
this.render('about', {});
});
请记住this.render
将第一个参数作为模板,因此无需再单独定义它。
新的about.html页面:
<template name="home">
<div class="container">
<h2>Home</h2>
</div>
</template>
现在您可以使用/
和/about
页面(至少我希望我没有错过任何内容)
答案 1 :(得分:0)
您的文件夹上可以有3个模板
客户端/浏览次数
,名称为
about.html
main.html
admin.html
layout.html
(for example)
所以在about.html中你有这个
<template name="about">
<h1> hello from about page
</template>
<template name="main">
<h1> hello from about page
</template>
<template name="admin">
<h1> hello from about page
</template>
Layout.html文件需要包含渲染的产量。
<template name="layout">
{{> yield}}
{{admin}}
{{about}}
{{main}}
</template>
因此,您可以使用布局模板作为母版页,并调用3个模板按路径分隔,如何分配路径并告诉meteor使用该布局,请使用此js代码
JS
Router.configure({
layoutTemplate: 'layout'
});
Router.map(function(){
this.route('admin', {path: '/admin'});
});
Router.map(function(){
this.route('about', {path: '/about'});
});
Router.map(function(){
this.route('main', {path: '/'});
});
至少这对我有用,希望这对你有用