当AOT编译器打开而不是JIT时,会自动添加Flex布局样式

时间:2019-02-07 11:29:53

标签: angular css3 angular-material2 angular2-aot angular-flex-layout

在我的使用Angular 7的应用程序中,Angular Material&typescript和 FlexLayout 是最新版本。问题是当AOT编译器打开而不是JIT编译器时,会自动添加FlexLayout样式。当我关闭AOT编译器时,不会添加样式。还尝试设置弹性布局配置FlexLayoutModule.withConfig({addFlexToParent: false});,但无济于事。

那么,能否请任何人解释为什么仅当AOT ON不在JIT中时才应用?或如何删除自动添加的样式?

1 个答案:

答案 0 :(得分:0)

FlexLayout在模块注入方面存在一些问题。

为避免与AOT混淆,应将所有设置都设置在同一范围内:

import { FlexLayoutModule, LAYOUT_CONFIG, BREAKPOINT } from '@angular/flex-layout';
@NgModule({
  declarations: [AppComponent],
  imports: [
    {
      ngModule: FlexLayoutModule,
      providers: [
        {
          provide: LAYOUT_CONFIG,
          useValue: {
            addFlexToParent: false,
            addOrientationBps: true,
            disableDefaultBps: true,
            disableVendorPrefixes: false,
            serverLoaded: false,
            useColumnBasisZero: true
          }
        },
        {
          provide: BREAKPOINT,
          useValue: CUSTOM_BREAKPOINTS
        }
      ]
    }
  ],
  providers: [

  ],
  bootstrap: [AppComponent]
})

不要划分模块和提供者,所有必须在导入的同一对象中