Я пытаюсь реализовать функцию «сбросить пароль» в своем приложении Meteor. У меня очень простая реализация на основе этого учебника: Julien's tutorial on gentlenodeMeteor: resetPassword поведение ссылки по электронной почте
Существует несколько примеров, которые используют этот же базовый подход. Я сделал это почти так же, как Жюльен, но я использовал только один шаблон; Я использую {{#if}} в своем шаблоне, который отображает форму «сбросить пароль», если моя переменная сеанса sResetPassword не является ложной. (Я не знаю, как правильный шаблон должен отображаться в примере Жюльена, и он не работает для меня, поскольку он написан - шаблон не изменяется.)
Вот критическая часть кода , Два разных метода, которые работают на моем локальном приложении, но ни один из них не работает в моем приложении (модуле).
/* method one
if (Accounts._resetPasswordToken) {
Session.set('sResetPassword', Accounts._resetPasswordToken);
}
/* method two
Accounts.onResetPasswordLink(function(token) {
Session.set('sResetPassword', token);
});
На моей развернутой версии (Modulus), ссылка открывает мое приложение и просто идет прямо на стартовом экране. Когда я проверяю значение моего сеанса sResetPassword var, он не определен, поэтому как-то значение маркера никогда не попадает в var.
В то время как мы по теме, кто-нибудь знает, как вы должны получать правильный шаблон для загрузки, когда вы используете отдельный шаблон для формы пароля сброса?
Спасибо, Мишель Х. Посмотрев на свой код, я добавил заявление Router.go, заключенное в setTimeout(). И с этим изменением я кратко просмотрел правильный шаблон после нажатия на ссылку. Но затем приложение направилось прямо к стартовому экрану. Поэтому я все еще экспериментирую. Кстати, что это интересная конструкция:() => в вашем коде? Он не компилируется для меня. –
Свойство TypeScript, оно сохраняет внешнее «это», просто используйте функцию(). – MichelH