我想知道这两个代码块是否相等。
我可以使用providedIn
来达到与forRoot
相同的结果吗?
@Injectable({
providedIn: 'root'
})
export class MyService {
constructor() { }
}
vs@Injectable()
export class MyService {
constructor() { }
}
@NgModule({
imports: []
})
export class MyModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: MyModule,
providers: [
MyService
]
};
}
}
@NgModule({
imports: [
MyModule.forRoot()
],
bootstrap: [AppComponent]
})
export class AppModule { }
[我仍然会保留我的MyModule
,以便单独使用带有providedId
单例服务]
providedIn
比forRoot
更好,因为它更容易进行树摇优化。 - PaceforRoot
模式的RouterModule
呢? - saivishnu tammineniprovidedIn
时无法配置自定义配置提供程序,我们需要为Router
服务提供自定义路由。 - axk