1
此刻,我使用兩條路線顯示列表或文章內容。所以我得到了一條路線articles
和一條路線article
,因爲有兩個模板。Iron-Router:顯示列表和單個文章的一條路線
但是不可能把所有東西放在一條路線上嗎?
我認爲第一條路線沒有意義,所以應該只有'/article/:id'
,如果沒有給定的ID,應該顯示列表。
路線
Router.configure({
layoutTemplate: 'layout',
});
Router.route('/articles', {
name: 'articles',
yieldTemplates: {
'articleList': { to: 'content' }
}
});
Router.route('/article/:_id', {
name: 'article',
yieldTemplates: {
'contentPage': { to: 'content' }
},
onBeforeAction: function() { Session.set('articleID', this.params._id); this.next(); }
});
模板
<template name="layout">
{{ > header}}
{{ > yield 'content'}}
{{ > footer}}
</template>
<template name="articles">
<ul class="list">
{{#each list}}
<li><a href="/article/{{_id}}">{{title}}</a></li>
{{/each}}
</ul>
</template>
<template name="article">
<h1 id="element" data-id="{{article._id}}">{{article.title}}</h1>
<p>{{article.content}}</p>
</template>