Я работаю над приложением, управляемым данными, и в настоящее время я сталкиваюсь с проблемой передачи типов в угловой диалог материала. Я хочу создать диалоговую форму многократного использования и мне нужно изменить типы для нового экземпляра диалога.
Есть ли способ передать тип в диалог материала или в компонент? Или, может быть, есть возможность создавать типы в самом диалоге из строки, передаваемой как данные?
Я хочу использовать типы в диалоговом компоненте, подобном этому (или подобному):
export class DialogDynamicItemManagerDialog<T> {
public dialogName: string;
public items: Array<T>;
public selectedItem: T;
...
}
Я пытался передать такой тип:
OpenDynamicDialog(): void {
this.dialog.open(DialogDynamicItemManagerDialog<MyType>, {
data: {
title: 'Manage items',
items: this.items
},
});
}
но, очевидно, это не работает.
Я тоже пробовал это:
OpenDynamicDialog(): void {
const dialogRef = this.dialog.open(DialogDynamicItemManagerDialog, {
data: {
title: 'Manage items',
items: this.items,
itemType: itemType
},
});
}
но я не нашел способа изменить строку в тип в диалоговом окне впоследствии.