Meteor 用户帐户 - 内部状态

Meteor useraccounts - Internal States

我使用流星包 "useraccounts",它为我提供了 2 种形式 - "login" 和 "register"。

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

当我使用 {{> atForm}} 时,我可以在 "login" 和 "register" 状态之间切换,但在开始时它始终是 "login" 状态,无论我打开哪个模式.

因此,如果用户打开 "register" 模式,它应该显示 "register" 表单。如果 "login" 模态 - "login" 形式。

现在这两种情况总是 "login" 状态。

当我使用 {{> 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>