【Angular】No component factory found for ×××.
报错现象:
用modal打开某个组件页面时报错
报错:No component factory found for UpdateAuthWindowComponent. Did you add it to @NgModule.entryComponents?
原因:
使用loadChild模式加载对应路由下的组件时,是懒加载模式,即需要的时候才会加载,所以如果路由走的是懒加载模式,需要的module即使在app.module中引入过了,依旧需要再引入一次
解决方案:
在app.module 的entryComponents 再导入一次
参考资料:https://blog.csdn.net/qq_34829447/article/details/89224634
延伸知识
AppModule
imports 本模块声明的组件模板需要的类所在的其它模块。
providers 服务的创建者,并加入到全局服务列表中,可用于应用任何部分。
declarations 声明本模块中拥有的视图类。Angular 有三种视图类:组件、指令和管道。
exports declarations 的子集,可用于其它模块的组件模板。
bootstrap 指定应用的主视图(称为根组件),它是所有其它视图的宿主。只有根模块才能设置 bootstrap 属性。
参考资料:https://blog.csdn.net/it_rod/article/details/79188921
Angular入口组件(entry component)和声明式组件的区别:
参考资料:https://majing.io/posts/10000004561171