Meteor:当用户注册时如何显示页面

时间:2015-10-05 19:23:20

标签: meteor

当一个人注册(账户输入)时,它会将他们带到名为" dashboard"的页面。我想要它,以便在他们注册之后,如果这是第一次(对于该帐户)他们正在看到该页面,它将显示某种欢迎消息。这可能吗?

感谢。

更新: 我试过这个:

Accounts.onCreateUser(function(options, user) {
    console.log('New account created!');
});  

但它给了:

Exception while invoking method 'entryCreateUser' Error: insert requires an argument

我正在使用帐户条目。有没有解决这个问题?

2 个答案:

答案 0 :(得分:1)

在不了解您的应用程序的情况下,很难就您的最佳方式提供建议。但这里有三种可能的方法。

  • 如果您要创建自己的注册/登录活动,只需在注册活动中路由到“欢迎”路线/模板,在登录时路由到“仪表板路径/模板”。

  • 如果您想使用默认帐户-ui,可以使用Accounts.onCreateUser挂钩服务器端将{'isNewUser':true}添加到用户帐户文档。然后检查此属性客户端以确定要显示的模板。

  • 或者您可以尝试wrapping Accounts.createUser包含您需要客户端转到欢迎路线/模板而非仪表板的额外逻辑。

答案 1 :(得分:0)

最简单的方法是设置一个会话变量,然后在模板中使用一个帮助器来关闭它:

在新的帐户代码中:

Session.set('isNewUser',true);
Router.go('dashboard')

HTML:

<template name='dashboard'>
{{#if newUser}}Welcome!!{{/if}
... rest of your template ...
</template>

JS:

Template.dashboard.helpers({
  newUser: function(){
    return Session.get('isNewUser');
  }
});

您还需要代码以便稍后删除该Session变量或将其设置为false。

相关问题