我有本地模块,其中包含有关服务和组件的所有信息。
此模块包含在主模块app.module
中。这是否意味着本地模块中描述的服务在根模块中可用?还是孤立的结构?
例如,我有header.component
,其中包括使用服务的其他一些组件。为了将所有逻辑结合在一起,我创建了模块header.module
。描述所有服务的地方。
如果我已经在app.module
中导入了服务,是否需要在本地模块中导入该服务?
答案 0 :(得分:1)
如果您向模块提供服务,则该服务可用于该模块的所有组件(一个共享实例)。
@NgModule({
providers: [
BackendService,
Logger
],
...
})
或(自Angular 6起)
@Injectable({
providedIn: 'root',
})
如果您向组件提供服务,则仅对此组件可用。
@Component({
selector: 'app-hero-list',
templateUrl: './hero-list.component.html',
providers: [ HeroService ]
})