【问题标题】:Angular Material FlexLayout fxHide does not hideAngular Material FlexLayout fxHide 不隐藏
【发布时间】:2019-06-21 16:13:56
【问题描述】:

我正在使用 flex-layout 开发 mat-stepper。每个步骤都包含图标和一个段落,以使其负责且更具可读性我想在较小的屏幕上隐藏段落并只留下图标。根据我的理解,如果分辨率低于小,fxHide.lt-sm 应该隐藏元素,但不幸的是没有任何反应,它看起来像这样: Image of stepper (Galaxy S5 size)

代码如下:

<mat-horizontal-stepper>
  <mat-step>
    <ng-template matStepLabel>
      <ul>
        <li>
          <mat-icon>format_list_numbered</mat-icon>
        </li>
        <li fxHide.lt-sm>
          <p>Grades</p>
        </li>
      </ul>
    </ng-template>
    <app-grades></app-grades>
  </mat-step>
  <mat-step label="Student">
    <ng-template matStepLabel>
      <ul>
        <li>
          <mat-icon>account_circle</mat-icon>
        </li>
        <li fxHide.lt-sm>
          <p>Student</p>
        </li>
      </ul>
    </ng-template>
    <app-user></app-user>
  </mat-step>
  <mat-step label="Teachers">
    <ng-template matStepLabel>
      <ul>
        <li>
          <mat-icon>people</mat-icon>
        </li>
        <li fxHide.lt-sm>
          <p>Teachers</p>
        </li>
      </ul>
    </ng-template>
    <app-teachers></app-teachers>
  </mat-step>
  <mat-step label="Messages">
    <ng-template matStepLabel>
      <ul>
        <li>
          <mat-icon>message</mat-icon>
        </li>
        <li fxHide.lt-sm>
          <p>Messages</p>
        </li>
      </ul>
    </ng-template>
    <app-messages></app-messages>
  </mat-step>
</mat-horizontal-stepper>

FxLayoutModule 包含在 app.module.ts 的导入中

【问题讨论】:

  • 有一个关于这个问题的报告,也许改变你的版本可以解决它。 Issue 945
  • 您是否导入了正确的模块?还是您将FlexLayoutModule 拼写为FxLayoutModule 是拼写错误?
  • 感谢 Edric 的回复。实际上我不知道 FlexLayoutModule 不能在模块之间共享,并且必须将其显式导入到每个使用 flex 的模块中。

标签: responsive-design angular-material angular-flex-layout


【解决方案1】:

FlexLayoutModule 必须在所有希望使用它的模块中导入

import { FlexLayoutModule } from '@angular/flex-layout';
@NgModule({
  imports: [
    FlexLayoutModule,
  ]
})
export class MyModule { }

【讨论】:

  • 这给了我FlexLayoutModule is not an Angular module 你已经安装了@angular/flex-layout 并没有抱怨import { FlexLayoutModule } from '@angular/flex-layout';。知道那可能是什么吗?
  • 你安装了angular cdk吗? npm install --save @angular/cdk
  • 是的,我做到了,我不知道是什么问题,但我删除了 node_modules 并运行 npm i 并修复了。任何方式都非常感谢
猜你喜欢
  • 1970-01-01
  • 2020-02-17
  • 1970-01-01
  • 1970-01-01
  • 2016-03-27
  • 2019-04-18
  • 2016-06-04
  • 1970-01-01
  • 2020-11-08
相关资源
最近更新 更多