Angular 2: 有条件地在同一路由上加载不同的组件?

Angular 2: loading different component on same route with conditions?

有什么方法可以让我在同一条路线上加载不同的组件(在我的例子中是根路线)。

主要是想看看用户是否登录,如果登录了就加载dashboard组件,如果没有登录就加载home组件

再说一遍,为了让问题更清楚,我不想使用身份验证守卫将用户重定向到不同的路由。我想在同一条路线上加载不同的组件

如果你不想使用守卫,这就是你在问题中提到的, 你可以简单地使用 ngIf.

示例

<div *ngIf="this.authService.hasPermissionForDashboard()">
 <app-dashboard><app-dashboard>
</div>
<div *ngIf="this.authService.hasNotPermissionForDashboard()">
 <app-home><app-home>
</div>