Я сделал диалоговое окно с угловым материалом, которое принимает в качестве имени входного компонента, который должен быть открыт в диалоге.
Я хочу сделать так, чтобы этот ввод означал, что это диалоговое окно должно быть общедоступным и где угодно в моем проекте, любой может его использовать.
Здесь диалог - это отдельный модуль, а клиент - это отдельный модуль.
Заранее спасибо.
Я попробовал следующий, но я не понимаю, как передать имя компонента динамически.
customer.component.html
<div>
<app-model ></app-model>
</div>
model.component.ts
import { Component, OnInit, Input } from '@angular/core';
import { MatDialog } from '@angular/material';
import { CustomerResponsblitiesComponent } from 'app/customer/Customer-
responsblity/customer-responsblities/customer-responsblities.component';
@Component({
selector: 'app-model',
templateUrl: './model.component.html',
styleUrls: ['./model.component.scss']
})
export class ModelComponent implements OnInit {
@Input() ComponetoTobeLoad:any;
constructor(public dialog: MatDialog) { }
ngOnInit() {
}
ngAfterViewInit() {
setTimeout(()
=>this.openDialog(CustomerResponsblitiesComponent));//here i want to
pass my component dynamically.
console.log(this.ComponetoTobeLoad+"abc");
}
openDialog(component): void {
const dialogRef = this.dialog.open(component, {
width: '500px',
dialogRef.afterClosed().subscribe(result => {
});
}
Я хочу динамически использовать имя компонента передачи для моделирования и хочу открыть диалоговое окно.