javascript - 如何有条件地向 app.module 添加拦截器?
问题描述
我阅读了其他主题,但没有一个能反映我的问题。背景优先——我们有一个 Angular 应用程序,它在两种模式下工作——在第一种模式下,应用程序使用一个 API,而在第二种模式下——另一个。
这个,我想要实现的是只有在第二种模式下才有 Http 拦截器。
那么,有没有办法根据一些 APP_CONFIG 文件或环境道具有条件地添加 Http 拦截器?
我创建了一种 setInterceptors() 辅助函数,它根据条件将这些拦截器添加到提供程序数组,但在构建过程中失败并带有消息:
装饰器不支持函数调用
解决方案
您可以为 2 种模式创建 2 个单独的模块,然后将其注入所需的模块提供程序中。
@Injectable({
providedIn: YourModule
})
export class HttpInterceptorService implements HttpInterceptor {
}
这YourModule
是您要在其中应用拦截器的模块
推荐阅读
- php - 长期存储变量
- kubernetes - 如何解决 Kubernetes 中的 dns 问题?
- javascript - 用于格式化嵌套数组以匹配条件数组的递归函数
- python - 连接到我的 python 聊天应用服务器的问题
- flutter - 更新变量
- google-sheets - 有没有办法在将 Google 表格转换为 PDF 时隐藏图表边框?
- python - 一个程序,将在 pygame 中绘制一个连接到线条的圆圈
- html - 如何使用引导程序和负责任的方式设计此页脚?
- javascript - 如何在 style.js 文件中添加 php 函数?
- asp.net - 下拉列表的远程功能和验证在弹出模式下不起作用