我需要创建一个通用解决方案,通过传递一些参数从应用程序内的任何位置打开模态,这些参数可能只是大小(小,大,全屏),可忽略(真或假)和最大重要参数是我需要在此模态中显示的组件。我的问题是如何将完整组件传递给服务中的方法。
答案 0 :(得分:0)
您只需将组件类传递给您的服务:
service.openModal(component = AComponent, ...rest) {}
如果要将其作为字符串传递,可以声明将在服务中使用哪些组件并按名称查找它们。像这样:
service.dynamicComponents = [AComponent, BComponent];
service.openModal(params = { component: 'AComponent' }) {
const component = this.dynamicComponents
.find(o => o.constructor.name === params.component)
}