使用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
答案 0 :(得分:0)
动态对话框在构造函数中具有传递数据的选项。 例如
const ref = this.dialogService.open(MyComponent,{data:myData});
答案 1 :(得分:0)
我得到的数据始终在ngOnInit中未定义(this.config.data =未定义)。这是我的代码:
constructor(public ref: DynamicDialogRef, public config: DynamicDialogConfig) {
}
ngOnInit() {
console.log(this.config.header);
this.root = this.config.data.template.root;
}
然后我使用以下方法打开对话框:
let myData = {
"template": this.template
};
const ref = this.dialogService.open(TreeReportComponent,
{
data : myData,
header: 'Test',
width: '70%',
contentStyle: {"max-height": "350px", "overflow": "auto"}
});
我在Google上找不到任何东西。也许您可以帮助我找到我的错误。预先谢谢你。
答案 2 :(得分:0)
我有同样的问题。 我删除了:
providers: [DialogService]
来自我将要传递数据的组件(对话框组件)
答案 3 :(得分:0)
内部父组件:
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() {}
}