使用命令式对话框时如何为组件提供参数?

How do I provide parameters for the component when working with imperative Dialogs?

使用命令式对话框时,如演示页面所示:

let pDialog = this.dialogService.showCustomDialog({
  component: LoginDialogComponent,
  providers: [{provide: TEST_VALUE, useValue: 'Just an example'}],
  isModal: true,
  styles: {'width': '350px'},
  clickOutsideToClose: true,
  enterTransitionDuration: 400,
  leaveTransitionDuration: 400
});

我如何为 LoginDialogComponent 提供参数,它是否需要一些参数?这可能吗?

提前致谢, c

示例中已经有一些代码用于此用例。

providers: [{provide: TEST_VALUE, useValue: 'Just an example'}],

您可以使用它来将字符串 Just an example 注入到 LoginDialogComponent 的构造函数中。

在您必须按以下方式初始化 TEST_VALUE 之前:

const TEST_VALUE = new OpaqueToken("test_value");

然后你可以通过这种方式扩展你的组件构造函数来获取值:

constructor(@Inject(TEST_VALUE) private myValue: string) {}

除了字符串,您还可以传递一个对象。这看起来像这样:

providers: [{provide: TEST_VALUE, useValue: <IMyDialogArgs>{
    foo: "foo",
    bar: 0
}}],