0

我使用 生成了一个标题组件ng generate @angular/material:material-nav --name header,在此我需要固定汉堡图标,即使屏幕尺寸较大。现在它仅在屏幕尺寸较小时出现。我需要一些帮助来解决这个问题。stackblitz 中的代码(https://angular-bfjx3s.stackblitz.io/)谢谢

需要这样的东西(https://console.cloud.google.com

4

4 回答 4

1

*ngIf="isHandset$ | async"您可以从按钮中删除条件语句

于 2019-06-24T06:14:38.123 回答
1

您需要像这样更改汉堡包按钮的 *ngIf 条件(或者如果您希望按钮始终可见,您甚至可以删除 *ngIf :

<mat-toolbar color="primary">
      <button
        type="button"
        aria-label="Toggle sidenav"
        mat-icon-button
        (click)="drawer.toggle()"
        *ngIf="true">
        <mat-icon aria-label="Side nav toggle icon">menu</mat-icon>
      </button>
      <span>web-doctor</span>
  </mat-toolbar>

这里的代码:https ://stackblitz.com/edit/angular-kutmnh

于 2019-06-24T06:14:50.650 回答
1

从header.component.html*ngIf中的以下代码中删除条件

<button
  type="button"
  aria-label="Toggle sidenav"
  mat-icon-button
  (click)="drawer.toggle()">
  <mat-icon aria-label="Side nav toggle icon">menu</mat-icon>
</button>
于 2019-06-24T06:12:33.027 回答
1

谢谢大家的尝试,我发现这里提到的不同断点(Angular mat-sidenav property isHandset$ | async explain)所以我将当前设置更改为((isWeb$ | async) || (isTablet$ | async) || (isHandSet$ | async))HTML 文件和 TS 文件中,如下所示

 isWeb$: Observable<boolean> = this.breakpointObserver.observe(Breakpoints.Web)
    .pipe(
      map(result => result.matches)
    );

    isTablet$: Observable<boolean> = this.breakpointObserver.observe(Breakpoints.Tablet)
    .pipe(
      map(result => result.matches)
    );

    isHandSet$: Observable<boolean> = this.breakpointObserver.observe(Breakpoints.Handset)
    .pipe(
      map(result => result.matches)
    );
于 2019-06-24T07:31:08.340 回答