Angular:如何使用拦截器显示图形组件?

时间:2018-11-06 13:17:56

标签: angular typescript components angular-http-interceptors

我正在使用Angular 6开发Web应用程序。 我创建了一个拦截器服务(使用接口startTracking() { console.log("Toggle Tracking!"); this.isTracking = !this.isTracking; } ),该服务可拦截某些类型的HTTP调用。 该类可以完美运行(我可以拦截所有想要的HTTP调用)。 在此应用程序中,有几个图形组件。用拦截器中编写的代码显示图形组件(例如微调器或模式窗口)的方式是什么?

一个例子:

HttpInterceptor

例如,我想测试@Injectable() export class MyHttpInterceptor implements HttpInterceptor { intercept(req: HttpRequest<any>, next: HttpHandler ) { let updateReq; updateReq = req.clone({ setParams: { responseType: 'no-type' } } ); console.log(updateReq); return next.handle(updateReq).pipe(tap( event => console.log(event), err => console.log(err) )); } } 是否具有某些属性, 然后使图形组件出现。如何在整个应用程序中执行此操作? 感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

  1. 使用显示/隐藏微调器的标志创建微调器组件
  2. 创建一个新服务“ spinnerservice”,如果切换微调器,则切换标志并发出事件。
  3. 将您的服务注入到微调器组件和拦截器中
  4. 从拦截器中调用“ spinnerservice”
  5. 在微调器组件中收听您服务中的事件,并调整微调器状态。