Javascript 角度:使用ngComponentOutlet时未找到组件工厂

Javascript 角度:使用ngComponentOutlet时未找到组件工厂,javascript,angular,Javascript,Angular,我试图使用ngComponentOutlet,但出现以下错误: 错误:找不到灯泡的组件工厂。您是否将其添加到@NgModule.entryComponents 我使用的是angular 11,entryComponents已被弃用,enableIvy:“false”(因为我们正在构建一个库,并且在编译时,angular如果设置为true会抛出警告,因为它是一个库) 我的组件如下所示(我知道我可以使用ng content,但我只想获取内容中找到的第一个项目并显示它): @组件({ 选择器:'侧导航

我试图使用
ngComponentOutlet
,但出现以下错误:

错误:找不到灯泡的组件工厂。您是否将其添加到@NgModule.entryComponents

我使用的是angular 11,
entryComponents
已被弃用,
enableIvy:“false”
(因为我们正在构建一个库,并且在编译时,angular如果设置为true会抛出警告,因为它是一个库)

我的组件如下所示(我知道我可以使用
ng content
,但我只想获取内容中找到的第一个项目并显示它):

@组件({
选择器:'侧导航项目',
样式URL:['./侧导航项.component.scss'],
模板:`
`
})
导出类SideNavItem{
@ContentChild(SideNavIcon)
图标?:SideNavIcon;
}
我通过将
灯泡
传递到组件来使用下面的组件


侧面导航图标。ts

侧导航图标从我们的svg图标内部图标库中呈现一个图标(到目前为止,它是非常基本的):

@组件({
选择器:“侧导航图标”,
样式URL:['./侧导航图标.component.scss'],
模板:`
`
})
出口级SideNavIcon{
@输入()名称?:字符串;
}
注意:
组件位于另一个库(在同一项目中)中,具有自己的模块

@NgModule({
声明:[图标],
导入:[BrowserModule],
导出:[图标]
})
导出类IConModule{}
@组成部分({
选择器:“图标”,
templateUrl:'./icons.component.html',
样式URL:['./icons.component.scss'],
changeDetection:ChangeDetectionStrategy.OnPush
})
导出类图标实现OnInit{
@输入()
集合名称(iconName:string){
这个。_name=i名称;
如果(此svgIcon){
this.element.nativeElement.removeChild(this.svgIcon);
}
const svgData=this.iconRegistry.getIcon(iconName);//返回:“”
this.svgIcon=this.svgElementFromString(svgData);
this.classes.forEach(cl=>this.element.nativeElement.classList.add(cl));
this.element.nativeElement.appendChild(this.svgIcon);
}
建造师(
私有元素:ElementRef,
专用ICONRegistry:ICONRegistry,
@可选()@注入(文档)私有文档:任意
) { 
ICONRegistry.registerIcons([
allIcons.iconBulbPng,/{名称:'bulb',数据:''}
//其他图标
]);
}
}
我试着遵循这两种方法,但是,它们都不能解决问题