Angular2:如果用户登录,则提供其他主页

Ala*_*n L 3 routes angular

我希望基础URL /根据用户是否登录显示不同的内容:

  • 未登录:显示LandingPageComponent
  • 登录:显示DashboardComponent

而且要明确一点,/不应重定向或更改url,而应确定要显示的内容。

这是很常见的事情(例如,Twitter做到了。)但是问题是,我是Angular的新手,到目前为止,我还没有找到一种简单的方法来做到这一点。我知道如何将不同的路径路由到不同的组件,但是我不知道如何有条件地将一条路径路由到多个组件。最好的方法是什么?

请尽量保持所有答案适合初学者。谢谢您的帮助。

sud*_* KB 5

以上可以通过以下步骤完成

:步骤1:默认显示一个具有以下html代码的

HomeComponent步骤2:在HomeComponent的构造函数/ ngOnInit(取决于情况)中,决定是否已登录。

注意:isLoggedIn是一个Observable。即isLoggedIn:可观察;

HomeComponent模板如下

<template [ngIf]="isLoggedIn | async">
<dashboard></dashboard>
</template>
<template [ngIf]="(!isLoggedIn | async)">
<login-page></login-page>
</template>
Run Code Online (Sandbox Code Playgroud)