Angular2路由设计 - 默认导航组件与登录

时间:2016-07-07 07:31:03

标签: angular angular2-routing

我正在寻找关于Angular2中针对loggedIn vs.!loggedIn视图的预期设计的一些建议。

如果我的用户已登录,我希望默认显示导航和菜单栏组件 - 因此我将其放在显示当前路线视图的路由器插座外。

路由受路由保护,如果用户未登录,则会重定向到登录页面。

这里的抓狂很难,我显然不希望菜单和导航显示用户是否还没有登录。

那么这种情况的预期设计是什么?我是否需要使用2个路由器插座,一个用于登录vs!登录视图,另一个用于实际路由组件?

2 个答案:

答案 0 :(得分:1)

但是当您按下浏览器的后退按钮时,此方法将会中断。 即它会带您进入有效登录的登录页面。并且你可以看到导航栏。

答案 1 :(得分:0)

由于您要保存令牌以供将来调用后端, 您可以根据现有的令牌或您使用的逻辑来* * ngIf并询问您的本地存储服务,或者如果用户之前已经记录了什么不是。 所以做这样的事情:

<header id="mysupersecretheader" *ngIf="loggedIn"></header>

如果结果为false,您将在输出html上得到这个:

<!--template bindings={
  "ng-reflect-ng-if": "false"
}-->

它甚至不会暴露那些打算在那里的东西。

由于一切都在不断变化,你应该阅读发行说明和文档,这真的很有帮助! Here is the template syntax section