首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用路由模块重定向

使用路由模块重定向
EN

Stack Overflow用户
提问于 2021-01-12 12:31:00
回答 1查看 45关注 0票数 0

我有一个登录页面,登录后,我将重定向到仪表板。仪表板上也有一些子程序页面。我需要当你登录并点击徽标,我被重定向到仪表板,如果我没有登录,我被重定向到登录页面。下面是我的代码示例:

navbar.component.html

代码语言:javascript
复制
<mat-toolbar>
    <h1>
      <a routerLink="/">
        <img src="../image.jpg"/>
      </a>
    </h1>
  </mat-toolbar>

routing.module.ts

代码语言:javascript
复制
.
.
.
const routes: Routes = [
  {
      { path: '', redirectTo: 'login', pathMatch: 'full' },
      {
        path: 'login',
        component: ClientLayoutComponent,
        children: [
          { path: '', redirectTo: 'dashboard', pathMatch: 'full' },
          {
            path: 'dashboard',
            component: DashboardComponent,
            canActivate: [DashboardGuard],
          },
          {
            path: 'account',
            component: AccountComponent
          },
          { path: 'Blog', component: BlogComponent },
        ],
      },
  },
];

这些步骤是如此明确:

  1. 如果我没有登录,当我单击徽标时,它必须转到登录页面,或者
  2. ,如果我是登录的,当我单击徽标时,它必须进入仪表板页面

EN

回答 1

Stack Overflow用户

发布于 2021-01-12 12:45:53

我会将登录路径和仪表板路径分开。如果您想拒绝访问仪表板(如果没有登录),我建议使用路由保护。

一种快速(肮脏)的方法是创建两个徽标链接,并根据用户登录与否提供正确的链接:

例如:

代码语言:javascript
复制
# in the component, create an variable that holds the value if a user is logged or not

<a *ngIf="userIsLoggedIn === false" routerLink="/login">
    <img src="../image.jpg"/>
</a>

<a *ngIf="userIsLoggedIn() === true" routerLink="/dashboard">
    <img src="../image.jpg"/>
</a>

其他选项:在您的徽标锚上做一个(click)="yourFunction()"。在yourFunction()中,您检查用户是否已登录,并将其导航到正确的页面。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65684022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档