Angular - fxFlex 对元素没有影响
Angular - fxFlex has no effect on elements
这个问题与 Angular 2+ 和 @angular/flex-layout 包有关。
例如,当尝试使用 fxFlex="30"
时,CSS 样式未应用于元素。
<mat-toolbar fxFlex="30" color="primary">
<h2>Uh-oh</h2>
</mat-toolbar>
确保像这样在 app.module.ts
中导入模块:
import { FlexLayoutModule } from '@angular/flex-layout';
并将其添加到 @NgModule
中的导入。
当我发现你的问题时,我正在处理完全相同的问题...
实际上在 Angular Material 网站上得到了回答:https://material.angular.io/components/toolbar/overview#positioning-toolbar-content
问题是 fxFlex 在 mat-toolbar 上不工作。如果您将 mat-toolbar 更改为 div,那么 fxFlex 将正常工作。但是,如果您需要使用 mat-toolbar,那么您需要手动设置工具栏中容器的样式以使 flex 工作。仅以您通常使用的方式使用 fxFlex,将无法在 mat-toolbar 上工作。
这是我的全宽工具栏的工作示例,左侧有徽标,右侧有一些按钮:
<mat-toolbar color="primary">
<span>
put the left content here, for example your logo
</span>
<span fxFlex style="flex: 1 1 auto;"></span>
<span>
put the right content here, for example a button
</span>
</mat-toolbar>
如果您忘记在其模块中导入和声明使用 fxflex 的组件,就会发生此行为。
因此,如果您有组件“home”,则必须记住 app.module.ts(或子模块)
...
import { HomeComponent } from './home/home.component';
@NgModule({
declarations: [
AppComponent,
NavbarComponent,
HomeComponent
],
imports: [
...
这个问题与 Angular 2+ 和 @angular/flex-layout 包有关。
例如,当尝试使用 fxFlex="30"
时,CSS 样式未应用于元素。
<mat-toolbar fxFlex="30" color="primary">
<h2>Uh-oh</h2>
</mat-toolbar>
确保像这样在 app.module.ts
中导入模块:
import { FlexLayoutModule } from '@angular/flex-layout';
并将其添加到 @NgModule
中的导入。
当我发现你的问题时,我正在处理完全相同的问题...
实际上在 Angular Material 网站上得到了回答:https://material.angular.io/components/toolbar/overview#positioning-toolbar-content
问题是 fxFlex 在 mat-toolbar 上不工作。如果您将 mat-toolbar 更改为 div,那么 fxFlex 将正常工作。但是,如果您需要使用 mat-toolbar,那么您需要手动设置工具栏中容器的样式以使 flex 工作。仅以您通常使用的方式使用 fxFlex,将无法在 mat-toolbar 上工作。
这是我的全宽工具栏的工作示例,左侧有徽标,右侧有一些按钮:
<mat-toolbar color="primary">
<span>
put the left content here, for example your logo
</span>
<span fxFlex style="flex: 1 1 auto;"></span>
<span>
put the right content here, for example a button
</span>
</mat-toolbar>
如果您忘记在其模块中导入和声明使用 fxflex 的组件,就会发生此行为。
因此,如果您有组件“home”,则必须记住 app.module.ts(或子模块)
...
import { HomeComponent } from './home/home.component';
@NgModule({
declarations: [
AppComponent,
NavbarComponent,
HomeComponent
],
imports: [
...