我正在根据其类型动态创建组件。
如果类型未定义,我想加载ErrorComponent
。
但是我遇到这样的错误
错误:未找到未定义的组件工厂。您是否将其添加到 @ NgModule.entryComponents?
下面是我的代码。
在content-components.module.ts
中// useValue defines component type.
export const CONTENT_MAPPINGS_PROVIDER: Provider = [
{
provide: CONTENT_MAPPINGS,
useValue: {
'ITALIC': StyleComponent,
'undefined': ErrorComponent
}
}
];
contentMapping.ts
export const CONTENT_MAPPINGS = new InjectionToken<any>(`CONTENT_MAPPINGS`);
在para.component.ts
中 inlineComp.forEach(obj => {
const type = this.contentMappings[obj.type]; // If type is undefined, it should pick up ErrorComponent but not picking
this.renderEngineService.createComponent(obj, type);
});
它是如何工作的,
obj.type
是ITALIC
,它将加载StyleComponent
obj.type
为TEXT
,则由于CONTENT_MAPPINGS
中未定义任何类型,因此应选择ErrorComponent
请帮助。
下面是我到我的项目的链接