У меня есть такой кусок кода менеджер им шаблон метеора:.Доступ метеора Template.instance() данные из вызова метода обратного вызова
"click #refuse": function() {
Meteor.call("removeUserFromEvent", this._id, Meteor.userId());
if (Template.instance().data.participants.length === Template.instance().data.orderedParticipants.length) {
Meteor.call("updateEventStatus", this._id, "ordered");
}
Router.go("/");
}
И я хотел бы сделать что if(...){...}
материала выполнен в Meteor.call(...)
обратного вызова, как
"click #refuse": function() {
Meteor.call("removeUserFromEvent", this._id, Meteor.userId(), function(){
if (Template.instance().data.participants.length === Template.instance().data.orderedParticipants.length) {
Meteor.call("updateEventStatus", this._id, "ordered");
}
});
Router.go("/");
}
Но если я пытаюсь сделать это оказывается, что внутри этого обратного вызова Template.instance()
возвращает null
, и я не могу получить данные из шаблона.
Как я могу поместить такие вещи (я имею в виду, получить некоторые текущие параметры состояния и в зависимости от этих вызовов или не вызывать другой метод) в обратном вызове метода? Возможно, данные Template.instance() являются неправильным местом для хранения параметров состояния? Является ли Template.instance.data реактивным вообще? Может быть, мне нужно каким-то образом изменить архитектуру, чтобы такая функциональность могла находиться в обратном вызове?