使用命令式对话框时,如演示页面所示:
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提供参数?这甚至可能吗?
提前致谢, ç
答案 0 :(得分:0)
在该示例中,已经有一些针对此用例的代码。
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
}}],