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

Angular2路由设计-默认导航组件与登录,angular,angular2-routing,Angular,Angular2 Routing,我正在寻找一些关于Angular2中的loggedIn vs.的预期设计的建议!loggedIn视图 如果我的用户已登录,我希望在默认情况下显示导航和菜单栏组件-因此我会将其放置在显示当前路由视图的路由器出口之外 路由受路由保护,如果用户未登录,路由保护将重定向到登录页面 这里有一个棘手的问题,我显然不想让菜单和导航显示用户是否还没有登录 那么,这种情况下的预期设计是什么?我是否需要使用2个路由器插座,一个用于loggedIn vs!loggedIn视图和一个用于实际路由组件?因为您正在保存令牌

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

如果我的用户已登录,我希望在默认情况下显示导航和菜单栏组件-因此我会将其放置在显示当前路由视图的路由器出口之外

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

这里有一个棘手的问题,我显然不想让菜单和导航显示用户是否还没有登录


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

因为您正在保存令牌,以便将来调用后端, 如果用户以前根据令牌的存在或您使用的任何逻辑登录过,您可以*ngIf并询问您的本地存储服务或其他问题。 这样做:

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

如果结果为false,您将在输出html中获得:

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

这甚至不会暴露出原本打算在那里的东西

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

但当您按下浏览器的“后退”按钮时,此方法将中断。
i、 e它将带您进入有效登录的登录页面。您可以看到导航栏。

谢谢!起初,由于一些CSS设计问题,这对我不起作用,但最终我决定更改CSS,因为ngIf确实是处理这种情况的最佳方式。干杯,TomI正在使用一个全局事件发射器,该发射器将发射AuthGuard中的事件“showNavBar”。并在应用程序组件的构造函数中订阅。