NgModuleFactory已弃用,请问应使用何种替代方案?
替代NgModuleFactory的方案
从Angular 9+(IVY编译器成为默认)开始,NgModuleFactory已被弃用,你可以直接用Type<T>来替换它,不需要再保留NgModuleFactory<T>的类型分支。
修改后的代码如下:
abstract lazyModules: { [key: string]: () => Promise<Type<T>>; };
原因说明
IVY编译器能够直接处理模块类的懒加载,不需要提前将模块编译为NgModuleFactory。现在懒加载模块时,直接返回模块类的Promise即可,Angular会自动完成模块的实例化与编译流程,完全不需要手动处理工厂类。
如果你的项目还在使用旧的ViewEngine编译器(不推荐长期使用),可以暂时保留原有的联合类型,但建议尽快迁移到IVY,彻底移除对NgModuleFactory的依赖。
内容的提问来源于stack exchange,提问作者Jalal Mostafania
相关产品推荐
相关产品推荐

