0

如何将 Material Drawer 组件集成到 Angular 应用程序中?我无法使用https://material.io/develop/web/components/drawers/中的说明正确渲染它

有人可以提供一步一步的说明来使 mdc-drawer 像演示中所示的那样工作吗?

4

1 回答 1

1

你可以一步一步地这样做。

第 1 步npm install @angular/material:-在您的项目中使用此命令安装角材料。

第 2 步:- 在您的 index.html 标头中添加它

<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

第 3 步:- 在 app.modules.ts 或根模块文件中导入以下模块。

import { MatSidenavModule } from '@angular/material/sidenav';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatIconModule } from '@angular/material/icon';

第 4 步:- 将这些模块添加到imports数组中。

第 5 步:- 将其添加到您的 html 文件中。

<mat-sidenav-container class="example-container" *ngIf="shouldRun">
  <mat-sidenav #sidenav mode="side" [(opened)]="opened" (opened)="events.push('open!')"
               (closed)="events.push('close!')">
    Sidenav content
  </mat-sidenav>

  <mat-sidenav-content>
    <mat-toolbar color="primary">
      <mat-toolbar-row>
        <mat-icon aria-hidden="false" aria-label="Example home icon" (click)="sidenav.toggle()">menu</mat-icon>
        <span>Custom Toolbar</span>
      </mat-toolbar-row>
    </mat-toolbar>
    <p>Events:</p>
    <div class="example-events">
      <div *ngFor="let e of events">{{e}}</div>
    </div>
  </mat-sidenav-content>
</mat-sidenav-container>

第 6 步:- 将此添加到您的 ts 文件中。

events: string[] = [];
opened: boolean;

shouldRun = [/(^|\.)plnkr\.co$/, /(^|\.)stackblitz\.io$/].some(h => h.test(window.location.host));

第 7 步:- 将此添加到您的组件 scss 文件中。

.example-container {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

第 8 步:- 将其添加到您的 style.scss 文件中。

@import '~@angular/material/prebuilt-themes/deeppurple-amber.css';

请检查工作演示

如果您仍然遇到任何问题,请告诉我。

于 2020-04-24T06:01:55.047 回答