Параметр Flow Router не изменяется внутри хука и подписки
Я использую
Template.taskList.onCreated( () => {
var projectId = FlowRouter.getParam( 'projectId' );
var postHooks = {
before: {
insert: function ( doc ) {
doc.projectId = projectId;
return doc;
}
}
};
Template.instance().subscribe( 'tasks', projectId );
AutoForm.addHooks( 'addTask', postHooks );
} );
добавить projectId
на все созданные задачи и подписаться на задачи с указанными projectId
,
Тем не менее, когда я меняю projectId
с FlowRouter.setParam( 'projectId' ... )
, похоже на то projectId
не меняется в моем крючке и подписке.
Что я делаю неправильно? Должен ли я положить его внутрь Tracker.autorun()
или что-то? Это потому, что я использую onCreated
вместо onRendered
?
1 ответ
Да, вам действительно нужно использовать autorun
, Причина в том, что параметры потокового маршрутизатора не являются реактивным источником данных, т. Е. Изменение их значения не вызывает переоценку кода в зависимости от него.