Meteor Accounts.onLogin与IronRouter

Meteor Accounts.onLogin与IronRouter,meteor,iron-router,Meteor,Iron Router,我正在尝试在登录后将用户重定向到一个页面。 尝试使用Router.go from Accounts.onLogin回调: Accounts.onLogin () -> Router.go('users.new') 在服务器上尝试此操作时,我得到TypeError:Object[Object Object]没有方法“go” 在客户机上,我得到了帐户。onLogin未定义好吧,这里有一个问题: Accounts.onLogin在客户端上未定义,因为它是仅限服务器的API 2015年6月1

我正在尝试在登录后将用户重定向到一个页面。 尝试使用Router.go from Accounts.onLogin回调:

Accounts.onLogin () ->
  Router.go('users.new')
在服务器上尝试此操作时,我得到
TypeError:Object[Object Object]没有方法“go”


在客户机上,我得到了
帐户。onLogin未定义

好吧,这里有一个问题:


Accounts.onLogin
在客户端上未定义,因为它是仅限服务器的API


2015年6月15日更新:这不再是事实,
帐户。客户端现在也提供onLogin

服务器上未定义Router.go,因为使用iron:Router重定向是一个仅限客户端的API

如果您使用的是
{{>loginButtons}
,则可以在客户端上尝试以下解决方法:

Tracker.autorun(function(){
  if(Meteor.user()){
    // login handler
    Router.go("users.new");
  }
  else{
    // logout handler
  }
});

如果您使用的自定义登录表单带有
Meteor.loginWithSomething
,则可以在登录方法的成功回调中执行重定向。

使用Deps.autorun。不确定什么是Tracker.autorun。可能是因为我在meteor 0.8上,它的API稍有不同。是的,它在0.9.1帐户中已向后兼容重命名。onlogin不是服务器唯一的东西-它是无处不在的东西-自回答此问题后,是否有更改?
帐户。根据此提交,onlogin
现在在客户端上可用: