带有登录和基本 sidenav 的 Angular 材质应用程序

Posted

技术标签:

【中文标题】带有登录和基本 sidenav 的 Angular 材质应用程序【英文标题】:Angular material application with login and basic sidenav 【发布时间】:2019-05-28 11:54:37 【问题描述】:

我有一个带有登录组件的应用程序,一个仪表板组件,其中包含一个角度材料基本 mat-sidenav-container 和另外两个组件。在 mat-sidenav 中,我为这两个组件设置了两个 routerLink 项。 我应该如何配置应用程序路由以呈现 mat-sidenav-content 中的组件? 我的应用路由如下所示:

const routes: Routes = [
  
    path: 'dashboard',
    component: DashboardComponent,
    canActivate: [AuthguardService],
    children: [
       path: 'first', component: FirstComponent,
       path: 'second', component: SecondComponent
    ]
  ,
  
    path: 'login',
    component: LoginComponent
  ,
  
    path: '',
    component: LoginComponent
  ,
  
    path: '**',
    component: PageNotFoundComponent
  
];

这是我的仪表板组件:

<mat-sidenav-container class="example-container">
  <mat-sidenav mode="side" opened>
    <mat-nav-list>
      <a mat-list-item routerLink='/first'>First Component</a>
      <a mat-list-item routerLink='/second'>Second Component</a>
      <a mat-list-item (click)="onLogOut()">Log out</a>
    </mat-nav-list>
  </mat-sidenav>

  <mat-sidenav-content>
    <router-outlet></router-outlet>
  </mat-sidenav-content>
</mat-sidenav-container>

【问题讨论】:

我刚刚从仪表板组件模板中的 routerLink 中删除了斜杠“/”,它起作用了 【参考方案1】:

我刚刚从仪表板组件模板中的 routerLink 中删除了斜杠“/”,它起作用了:

<a mat-list-item routerLink='first'>First Component</a>
<a mat-list-item routerLink='second'>Second Component</a>

【讨论】:

以上是关于带有登录和基本 sidenav 的 Angular 材质应用程序的主要内容,如果未能解决你的问题,请参考以下文章

使用 Material Angular 和 Leaflet 切换 sidenav 时调整 sidenav-content 的大小

Angular 5 Material 如何将下拉菜单添加到多级轮播样式的 SideNav?

Angular:mat-sidenav 在调整大小时忽略自动调整大小或模式

Angular 材质 sidenav 和扩展插入填充到左侧,为啥?

Angular Material mat-sidenav 宽度比 CSS 中设置的值小 1 像素

Angular:使用打开和关闭sidenav(Angular Materials)使div填充剩余的水平空间