【问题标题】:Fixed hamburger icon angular固定汉堡图标角
【发布时间】:2019-11-05 21:53:19
【问题描述】:

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

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

【问题讨论】:

    标签: angular angular-material angular7 mat-sidenav


    【解决方案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>
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        您需要像这样更改汉堡包按钮的 *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

        【讨论】:

        • 谢谢你,工具栏现在向右移动,背景不工作。对于较小的屏幕尺寸,背景可以正常工作,这意味着我可以单击屏幕上的任何位置,汉堡图标会折叠。
        【解决方案4】:

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

         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)
            );
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-07-26
          • 2021-02-04
          • 1970-01-01
          相关资源
          最近更新 更多