0

如果用户在访问我的网站的基本 URL 时已经在平台上登录(我使用 cookie 检查),我会尝试将用户重定向到某个路线。预期的行为是这样的:

  • 用户去www.example.com
  • 如果他已经登录,请重定向到www.example.com/my-account
  • 如果没有,请转到www.example.com

我尝试将 CanActivate 与以下代码一起使用:

canActivate() {
this.authService.checkStatus()
.subscribe(
  resp => {
   this.allowed = resp['isValid'];
  },
  error => {
    this.allowed = false;
  }
);

if(this.allowed) {
  this.router.navigate(['/my-account']);
  return true;
}
 return false;
}

问题是如果用户没有登录,它会显示一个白页,因为组件不会加载。

关于如何实现这一目标的任何想法?

谢谢。

4

1 回答 1

0

这不是答案只是建议

基本上它基于您的应用程序的范围。如果您的应用程序范围较小,则只需在应用程序启动时加载所有数据。如果范围很大,则使用延迟加载。

问题是您已经加载了用户首先使用的所有基本组件。

前任:Login , registration , forgot

于 2018-10-31T11:06:18.150 回答