在我们的项目中,我们使用服务使用HttpClient(@ angular / common / http)发出API请求,我们的拦截器(将令牌添加到每个请求中)适用于服务内部发出的每个请求,除非服务是从这样的组件内部调用的:
@Component({
selector: 'calendar-period',
templateUrl: './calendar-period.component.html',
styleUrls: ['./calendar-period.component.scss'],
providers: [
SettingsService
]
})
export class CalendarPeriodComponent implements OnInit {
在这种情况下,HTTP拦截器(是从我们的app.module加载的)将在除SettingsService之外的所有地方正常工作。
这是我们的拦截器调用的样子:
{ provide: HTTP_INTERCEPTORS, useClass: HttpConfigInterceptor, multi: true },
一些有用的信息:
我们要达到的目标: -我们的许多组件都将使用此服务来处理设置的检索和更新(而不是每次都在每个组件中进行设置),并且要使其正常工作,我们需要在每个组件中分别加载该服务存储一些唯一的数据,例如设置的ID。