angular - 如何在没有循环依赖的Angular中创建私有服务
问题描述
我有一个ApiService
我不想与组件共享的东西。它仅在其他服务内部使用。
模块
@NgModule({
providers: [
{ provide: 'APIUrl', useValue: window.angularConfig.APIUrl },
// ... declare secret imports like above
],
exports: [
FileService,
FolderService,
],
})
export class ServicesModule { }
私人服务
@Injectable({
providedIn: ServicesModule,
})
class ApiService {
@Inject('secret') secret!: string;
makeApiCall(url: string) { /* make HTTP call and send secret in header */}
}
公共服务
@Injectable({
providedIn: ServicesModule,
})
class PublicService {
constructor(private api: ApiService ) {}
getNames(url: string) {
return this.api.makeApiCall('url/endpoint')
}
}
此解决方案给了我这样的错误:
WARNING in Circular dependency detected:
...\services\apis.service.ts -> ...\services.module.ts -> ...\public.service.ts -> ...\apis.服务.ts`
解决方案
推荐阅读
- reactjs - react-country-region-selector 组件给定错误文本字符串必须在
零件 - html - 单击一个元素,它是网格中一行中的最后一个元素,并且行数是动态的,在 cypress
- c# - 如何在二叉搜索树数据结构中存储类型及其子类型信息?
- snowflake-cloud-data-platform - CLI 客户端 (SnowSQL) 无法在帮助中下载 —> 下载
- wordpress - WordPress:template_redirect 钩子发送 wp_mail 两次
- google-apps-script - 如何使用 Google Apps 脚本将一系列选定数据复制到同一工作表中最后一行数据之后?
- html - 引导选项卡将图像向右浮动
- javascript - 在无服务器中导入辅助函数
- javascript - 使用 JSON.stringify() 的目的是什么?
- sql - 在 SQL 中获取最近 15 天日期的列表