我在組件中使用材質對話框,在建立對它的參考時,IDE 向我顯示錯誤“SyntaxError: Expression expected”。這是什么原因?
onDeleteClick(id: number): void {
const data = this.getSomeData(id);
const config: MatDialogConfig<ConfirmDeleteDialogConfig<SomeDTO>> = {
data: {
data,
title: 'Sample text'
}
};
if (data) {
const dialogRef = this.dialog.open(ConfirmDeleteDialogComponent<SomeDTO>, config);
//^ SyntaxError: Expression expected
dialogRef
.afterClosed()
.pipe(...)
.subscribe();
}
}
類、配置和 dto:
export class ConfirmDeleteDialogComponent<T> {
constructor(
public dialogRef: MatDialogRef<ConfirmDeleteDialogComponent<T>>,
@Inject(MAT_DIALOG_DATA) public data: T
) {}
}
export interface ConfirmDeleteDialogConfig<T> {
data: T;
title: string;
text?: string;
}
export interface SomeDTO{
name: string;
id?: number;
}
uj5u.com熱心網友回復:
您正在提供type ConfirmDeleteDialogComponent<SomeDTO>。
洗掉泛型以提供類
const dialogRef = this.dialog.open(ConfirmDeleteDialogComponent, config);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/530284.html
標籤:有角度的打字稿角材料
下一篇:iss宣告無效Keycloak
