【问题标题】:How to add two sidenav in page with Angular?如何使用Angular在页面中添加两个sidenav?
【发布时间】:2021-03-01 09:24:28
【问题描述】:

我正在使用 Angular-Material 创建一个带有 Angular 的页面,我必须在其中放置两个 sidenav,一个在左侧显示一些用户数据,另一个在右侧带有选项菜单,这是我所拥有的图像远:

白框部分是用户数据所在的位置,右侧是我希望看到选项菜单的位置,也就是红色框,虽然我已经添加了两个 sidenav,但问题是我不能看到右边的那个,当按下按钮时它会向左展开,如下例所示:

https://stackblitz.com/edit/angular-bqgztk?file=src%2Fapp%2Fminivariant.component.html

虽然在本例中选项菜单从左侧处理,但这是我正在处理的代码:

home.component.html

<mat-sidenav-container fullscreen>
<mat-sidenav mode="side" #sidenav opened position="start">
    <mat-toolbar color="primary" class="mat-elevation-z4">

    </mat-toolbar>

</mat-sidenav>
<mat-sidenav-content style="z-index: unset;overflow: hidden;">
    <mat-toolbar>
        <button mat-icon-button (click)="sidenav.toggle()">
            <mat-icon>menu</mat-icon>
        </button>
        <span class="toolbar-spacer"></span>
        <label class="label">2719872</label>
        <mat-icon class="menu" (click)="isExpanded = !isExpanded">menu</mat-icon>
    </mat-toolbar>
    <mat-sidenav-container class="example-sidenav-container" autosize>
        <mat-sidenav #sidenav2 position="end" class="example-sidenav" mode="side" opened="true">
            <mat-nav-list class="dashboard">
                <a mat-list-item (click)="toggleActive($event)">
                    <mat-icon mat-list-icon>description</mat-icon>
                    <p matLine *ngIf="isExpanded">Documentación</p>
                </a>
                <a mat-list-item (click)="toggleActive($event)">
                    <mat-icon mat-list-icon>video_label</mat-icon>
                    <p matLine *ngIf="isExpanded">Tutoriales</p>
                </a>
                <a mat-list-item (click)="toggleActive($event)">
                    <mat-icon mat-list-icon>contact_support</mat-icon>
                    <p matLine *ngIf="isExpanded">Contáctenos</p>
                </a>
                <a mat-list-item (click)="toggleActive($event)">
                    <mat-icon mat-list-icon>logout</mat-icon>
                    <p matLine *ngIf="isExpanded">Salir</p>
                </a>
            </mat-nav-list>
        </mat-sidenav>
    </mat-sidenav-container>
    <div class="main-content">
        <p>
            Hi
        </p>
    </div>
    <router-outlet></router-outlet>
</mat-sidenav-content>

【问题讨论】:

    标签: javascript angular typescript angular-material


    【解决方案1】:

    结构不对。你应该有一个container 然后使用position 属性来对齐它们。

    <mat-sidenav-container class="example-container">
      <mat-sidenav opened mode="side" opened="true">Start content</mat-sidenav>
      <mat-sidenav opened mode="side" position="end" opened="true">End content</mat-sidenav>
       Main content
    </mat-sidenav-container>
    

    Demo

    【讨论】:

    • 当我在页面中有两个工具栏时这可能吗?
    • 是的,检查链接
    • 你能把链接放在这里吗?它对我不起作用
    • 该链接对我不起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 2021-06-27
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    相关资源
    最近更新 更多