作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想使用新的 Portal从 Material CDK 向表单的多个部分注入(inject)动态内容。
我有一个复杂的表单结构,目标是有一个表单指定子组件可以(或不能)注入(inject)模板的多个位置。
也许 CDK Portal 不是最好的解决方案?
我尝试了一些东西,但我确信这不是做事的方式: https://stackblitz.com/edit/angular-yuz1kg
我也尝试过使用 new ComponentPortal(MyPortalComponent)
但我们如何在其上设置输入?通常类似于 componentRef.component.instance.myInput
最佳答案
如果您使用 Angular 10+ 并关注 Awadhoot's answer , PortalInjector 现已弃用,因此代替:
new PortalInjector(this.injector, new WeakMap([[SOME_TOKEN, data]]))
你现在有:
Injector.create({
parent: this.injector,
providers: [
{ provide: SOME_TOKEN, useValue: data }
]
})
关于 Angular CDK : How to set Inputs in a ComponentPortal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47469844/
我是一名优秀的程序员,十分优秀!