1

我提供MAT_DIALOG_DEFAULT_OPTIONS为对话框app.module.ts创建全局默认值:MatDialog

function matDialogProviderFactory() {
  const matDialogConfig: MatDialogConfig = {/* presets */};

  if (/* some condition */) {
    matDialogConfig.panelClass = 'a-class';
  }

  return matDialogConfig;
}

@NgModule({
  ...,
  providers: [
    {
      provide: MAT_DIALOG_DEFAULT_OPTIONS,
      useFactory: matDialogProviderFactory,
    }
  ],
})

我的目标是在matDialogProviderFactory()每次创建对话框时评估条件,以便我可以有条件地添加一个类。但是,该函数在开始时只运行一次。matDialogProviderFactory()每次创建对话框时如何运行?或者,我还能如何实现我的目标?

4

1 回答 1

0

如果您需要对模块进行特定配置,这是一种很好的方法,但如果每次创建对话框时都需要更多自定义配置,您可以创建一个工厂类来生成具有特定配置的 Mat Dialogs

于 2020-05-17T23:48:59.460 回答