У меня есть список имен в шаблоне «postlist». Это «имена пользователей» человека, создавшего сообщение. Я создал ссылку href, так что, когда пользователь нажимает на имя, он перенаправляется/направляется на новый шаблон «просмотр» и может просматривать полный почтовый документ.
Но я хотел бы, чтобы шаблон «viewpost» отображался там, где я вместо этого поместил {{> yield}} в шаблон «postlist». Как мне настроить layoutTemplate, потому что у меня уже есть один, работающий для другой части приложения.
Конечно, этот почтовый документ, очевидно, должен меняться в зависимости от того, какое имя щелкает пользователь.
Вспомните пример Meteor todos. В зависимости от того, нажимаете ли вы «присоединиться» или «войти», отображаются соответствующие шаблоны.
Итак, то, что у меня есть до сих пор, выглядит следующим образом.
postlist.html (показывает список поля «полное имя» в почтовых документах).
<template name="postlist">
<div class="container">
<div class="col-sm-3">
{{#each post}}
<li><a href="{{pathFor 'viewpost'}}" >{{fullname}}</a></li>
{{/each}}
</div>
</div>
{{> yield}}
</template>
router.js
Router.map(function(){
this.route('postlist',{
path: '/postlist',
template: 'postlist',
waitOn: function(){
return Meteor.subscribe('posts');
},
data: function(){
return {post: Posts.find({})};
}
});
this.route('viewpost',{
path: '/viewpost/:_id',
template: 'viewpost',
waitOn: function(){
return Meteor.subscribe('posts');
},
data: function() { return Posts.findOne(this.params._id); }
});
});