Итак, я много читал о обсуждении Iron Router vs FlowRouter.Миграция в FlowRouter нуждается в чем-то подобном контексту данных шаблона
Я начал свой проект с помощью Iron Router, но с тех пор передумал, и сейчас я перехожу на FlowRouter.
Все прошло гладко, пока я не начал переносить раздел комментариев моего приложения. Вы видите, этот раздел повторно несколько раз на приложение, он служит в качестве комментария раздел для новостей, сообщений, фотографий, видео и т.д.
Пример использования контекста данных НП:
Router.route('/news/:slug', {
name: 'newsItem',
waitOn: function() { Meteor.subscribe('news.single', this.params.slug) },
data: function() {
return News.findOne({slug: this.params.slug});
}
});
<template name="newsItem">
<p>{{title}}</p>
<p>{{body}}</p>
{{> commentSection}}
</template>
Коллекция Комментарии schema имеет «тип» (знать, к какому типу «вещь» относится этот комментарий, новости, фотографии и т. д.). Этот тип был установлен в событии «form .submit» шаблона commentSection. Пример:
'submit form': function(e, template) {
e.preventDefault();
var $body = $(e.target).find('[name=body]');
console.log(template.data.type);
var comment = {
type: template.data.type,
parentId: template.data._id,
parentSlug: template.data.slug,
body: $body.val()
};
Meteor.call('insertComment', comment, function(error, commentId) {
if (error){
alert(error.reason);
} else {
$body.val('');
}
});
}
Это работает, так как контекст шаблона данных содержал пункт новостей, который в свою очередь, имеет свойство типа А, а также.
Как я могу достичь чего-то подобного этому только с помощью Flow Router без установки данных на шаблоне, как это рекомендовано официальным руководством?
Да, я уже это сделал. Однако я не заключил в нее {{> commentSection}}. Ваш комментарий заставил меня сделать это, поэтому я приму это как ответ. Благодаря! – pedropeixoto