我正在尝试将HTML传递给mat对话框,但它在对话框中显示 [object HTMLTableElement]
而不是表HTML .
我试过的步骤:
- 在模板中制作了一个元素参考,如下所示:
<table hidden #contentTable><th></th><tr></tr></table>
- 在组件中访问ViewChild
@ViewChild('contentTable', { read: ElementRef }) contentTable: ElementRef<any>;
- 将此作为DialogComponent中的数据传递给
const tableData = this.contentTable.nativeElement;
const dialogRef = this.dialog.open(GeneralDialogComponent, {
panelClass: 'customDialog',
data: {
title: `${data.count}`,
content: tableData
}
});
- 在DialogComponent中,访问的数据内容如下:
// method in component
getHtml(html) {
return this.domSanitizer.bypassSecurityTrustHtml(html);
}
- 然后在HTML中访问如下:
<div [innerHTML]="getHtml(data?.content)"></div>
但它不打印表而是打印 [object HTMLTableElement]
.
屏幕截图如下:
请问有哪些线索?
1 回答
你应该传递elementRef的innerHtml本身: