Angular中NgModule的providers和imports顺序会影响依赖注入吗?
在Angular项目里,我遇到一个奇怪的问题。当我在NgModule的providers数组里提前声明了一个服务,然后再在imports里导入了包含该服务的SharedModule,启动时提示“找不到提供者”。如果反过来,先导入SharedModule再声明服务,反而能正常运行。这顺序真的有影响吗?我尝试查文档但没找到明确说明,求大神指点!
// 错误的配置(先providers后imports)
@NgModule({
providers: [MyService],
imports: [SharedModule.forRoot()], // SharedModule也提供了MyService
declarations: [AppComponent]
})
export class AppModule {}
MyService会导致SharedModule里的MyService被忽略。正确的写法是:应该是这样就能正常工作了,别折腾顺序了,按这个来吧。