Primeng - 对话服务将数据传递给对话组件

Primeng - dialog service passing data to dialog component

使用PrimeNg的动态对话示例展示目标对话如何获取数据并显示。 我可以通过创建一个带有可观察对象的服务来将数据传递给对话,但我知道对话服务有一些可用的参数(比如数据)可以传递。 对话将如何检索通过服务传递的数据?

https://www.primefaces.org/primeng/#/dynamicdialog https://github.com/primefaces/primeng/blob/master/src/app/components/dynamicdialog/dynamicdialog-config.ts https://github.com/primefaces/primeng/blob/master/src/app/components/dynamicdialog/dialogservice.ts

动态对话框在构造函数中有一个传递数据的选项。 例如,

const ref = this.dialogService.open(MyComponent, {data : myData});

更新

您应该在构造函数中注入 DynamicDialogService,然后您就可以访问您在对话框中传递的数据

代码在这里:

constructor( private dialogService: DynamicDialogService) {}

然后您可以像这样访问和查看您传递的所有数据:

console.log(this.dialogSerive.data)

我有同样的问题。 我删除了:

providers: [DialogService]

从我将传递数据的组件(对话框组件)

内部父组件:

this.dynamicDialogRef = this.dialogService.open(EmployeeDialogComponent, {
    header: 'View Employee Details for - ' + this.employee.name,
    width: '90%',
    contentStyle: {"min-height": "800px", "overflow": "auto"},
    baseZIndex: 10000,
    data: {employee: this.employee}
});

内部对话框组件:

export class EmployeeDialogComponent implements OnInit {
constructor(public ref: DynamicDialogRef, public config: DynamicDialogConfig) { 
     console.log("Data: " + JSON.stringify(config.data.employee));
}
ngOnInit() {}
}