我在离子3应用程序的其他提供商中包括提供商.但它给了我错误’找不到供应商’.我做了一些研究,发现它是由于循环依赖.如何克服离子3应用程序中的循环依赖?
@H_403_1@
@H_403_1@
Angular不允许引用另一个提供者,因为它可能导致循环依赖注入.我解决它的方法是从构造函数中删除类变量的声明,并使用来自angular core的Injector使用以下代码在超时中注入依赖:
因此,假设您要在提供商B中包含提供商A,
import { ProviderA } from '../provider-a/provider-a'; export class ProviderB { provider_a:any; constructor(public injector: Injector) { console.log('Hello ProviderB Provider'); setTimeout(() => this.provider_a = injector.get(ProviderA)); } }@H_403_1@