Angular 2+一个路由由两个组件按条件处理

时间:2017-06-09 13:43:42

标签: angular

我的应用有私人和公共部分。

如果用户没有登录,那么他应该会看到有一些关于文字',facebook / twitter链接的登录页面以及登录/注册为应用程序根页的链接。

如果他已登录 - 他应该获得一个充满用户特定数据的仪表板页面作为整个应用程序的根目录。

当然,让这两个页面都由一个根路由处理" /"会很好。

所以我想知道,使用angular 2+和native router实现它的正确方法是什么?

export const ROUTES: Routes = [{
    path: '/',
    component: isAuthenticated() ? DashboardComponent : LandingPageComponent
}]

1 个答案:

答案 0 :(得分:0)

考虑使用canActivate后卫:

export const ROUTES: Routes = [
    {path: '/', canActivate: [AuthGuard], component: LandingPageComponent},
    {path: '/landing', component: LandingPageComponent}
},

在警卫中,您可以检查登录并重新路由到登陆页面。