流星用户帐户 - 内部状态

Meteor useraccounts - Internal States

本文关键字:内部 状态 用户 流星      更新时间:2023-09-26

我使用一个流星包"用户帐户",它为我提供了 2 种形式 - "登录"和"注册"。

我想在 2 种不同的模式中使用这 2 种表格 - 一种用于注册,另一种用于登录。

当我使用 {{> atForm}} 时,我可以在"登录"和"注册"状态之间切换,但在开始时它始终是"登录"状态,无论我打开哪种模式。

因此,如果用户打开"注册"

模式,它应该显示"注册"表单。如果"登录"模式 - "登录"形式"。

现在,在这两种情况下,它始终处于"登录"状态。

当我使用 {{> atForm state='signUp'}} 时,它会禁用状态之间的切换,我需要保留此选项。

我怎样才能做到这一点?

您可以只为注册和登录模板实现一种模式。然后,您可以通过调用 AccountsTemplates.setState(new_state) 来切换atForm状态。

例如:

Template.accountsModal.events({
  'click #login': function(e) {
    e.preventDefault();
    AccountsTemplates.setState('signIn');
    $('#accountsModal').modal();
  },
  'click #register': function(e) {
    e.preventDefault();
    AccountsTemplates.setState('signUp');
    $('#accountsModal').modal();
  }
});

<template name="accountsModal">
  <div class="modal fade" id="accountsModal" tabindex="-1" role="dialog">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span>
          </button>
          <h4 class="modal-title">Modal title</h4>
        </div>
        <div class="modal-body">
          {{> atForm}}
        </div>
      </div>
    </div>
  </div>
</template>