流星使用计数 - 内部国家

时间:2016-03-02 09:23:16

标签: javascript meteor user-accounts meteor-accounts

我使用meteor包“useraccounts”,它为我提供了2种形式 - “登录”和“注册”。

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

当我使用{{> atForm}}我可以在“登录”和“注册”状态之间切换,但在开始时它总是一个“登录”状态,无论我打开哪个模态。

因此,如果用户打开“register”模式,它应该显示“register”形式。如果“登录”模式 - “登录”形式“。

现在它在两种情况下总是处于“登录”状态。

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

我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:1)

您只能为注册和登录模板实现一种模式。然后,您可以通过调用 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>