如何解决如何在实现ControlValueAccessor的Ivy中的延迟加载的Angular组件上指定formControlName?
我的目标是延迟加载特定组件,以提高性能。我使用过this guide,它对于简单的用例非常有用。我的问题是,我尝试延迟加载的相关组件实现了ControlValueAccessor
,因此被formControlName
属性所消耗。延迟加载组件时如何添加它?
验证码
@ViewChild('editWysiwigContainer',{ read: ViewContainerRef })
async ngAfterViewInit() {
// setTimeout(async () => {
const { EddystoneWysiwigComponent } = await import(
'../../eddystone-wysiwig/eddystone-wysiwig/eddystone-wysiwig.component'
);
const eddystoneWysiwigFactory = this.cfr.resolveComponentFactory(
EddystoneWysiwigComponent
);
const { instance } = this.editWysiwigContainer.createComponent(
eddystoneWysiwigFactory,null,this.injector
);
instance.state = 'editOnly';
instance.updateOnBlur = true;
instance.height = 150;
// There is no formControlName here - how do I "fix" this?
instance.placeholder = 'leave a comment';
this.cdr.markForCheck();
}
视图
<div formControlName="comment">
<ng-container #editWysiwigContainer></ng-container>
</div>
任何帮助都是非常欢迎的,这将是与Ivy一起获得的一个很酷的功能
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。