提供者无法解析构造函数参数中的其他提供者
Providers can't resolve an other provider in constructor's parameter
我正在开发 ionic v3 应用程序:
我声明了我所有的提供者,但其中一个无法在另外两个提供者中解析
我收到这个错误:
Uncaught Error: Can't resolve all parameters for DialogueMetier:([object Object], [object Object], [object Object], [object Object],?, [object Object], [object Object]).
这是我的 "not resolved" 供应商:
import { Injectable } from '@angular/core';
import { TechniqueMetier } from './technique';
import { GlobalVarsMetier } from './global-vars';
import { SynchronisationMappingMetier } from './synchronisation-mapping-metier';
import { InformationBdd } from '../bdd/information-bdd';
import { OutilMetier } from './outil-metier';
import { NotificationMetier } from './notification-metier';
import { InformationActionMetier } from './information-action-metier';
import { InformationAssocieeMetier } from './information-associee-metier';
import { InformationDestinataireMetier } from './information-destinataire-metier';
import { InformationDossierMetier } from './information-dossier-metier';
import { EvenementMetier } from './evenement-metier';
import { DialogueMetier } from './dialogue-metier';
import { TacheMetier } from './tache-metier';
import { DocumentMetier } from './document-metier';
@Injectable()
export class InformationMetier {
constructor(
public techniqueMetier : TechniqueMetier,
public rootScope : GlobalVarsMetier,
public synchronisationMappingMetier : SynchronisationMappingMetier,
public informationBdd : InformationBdd,
public outilMetier : OutilMetier,
public notificationMetier : NotificationMetier,
public informationActionMetier : InformationActionMetier,
public informationAssocieeMetier : InformationAssocieeMetier,
public informationDestinataireMetier : InformationDestinataireMetier,
public informationDossierMetier : InformationDossierMetier,
public evenementMetier : EvenementMetier,
public dialogueMetier : DialogueMetier,
public tacheMetier : TacheMetier,
public documentMetier : DocumentMetier
) {
}
这是一个无法解决的问题:
import { Injectable } from '@angular/core';
import { InformationMetier } from './information-metier';
import { InformationAssocieeMetier } from './information-associee-metier';
import { InformationDestinataireMetier } from './information-destinataire-metier';
import { SynchronisationMappingMetier } from './synchronisation-mapping-metier';
import { DossierMetier } from './dossier-metier';
import { DialogueMessageMetier } from './dialogue-message-metier';
import { DialogueBdd } from '../bdd/dialogue-bdd';
@Injectable()
export class DialogueMetier {
constructor(
public synchronisationMappingMetier : SynchronisationMappingMetier,
public informationAssocieeMetier : InformationAssocieeMetier,
public informationDestinataireMetier : InformationDestinataireMetier,
public dossierMetier : DossierMetier,
public informationMetier : InformationMetier,
public dialogueMessageMetier : DialogueMessageMetier,
public dialogueBdd : DialogueBdd) {
}
我试图了解问题所在。
我将所有提供者放在 app.module.ts 中的提供者声明中。
有人知道我做错了什么吗?
发生这种情况是因为循环依赖在您的情况下,InformationMetier 依赖于 DialogueMetier,而 DialogueMetier 又依赖于 InformationMetier。
When Angular’s bootstrap process tries to setup all the services and
inject each service’s dependencies, it detects when such a scenario
happens and errors out, instead of getting stuck in an infinite loop.
您需要重构任何一项服务,使其不需要引用其他服务。
我正在开发 ionic v3 应用程序: 我声明了我所有的提供者,但其中一个无法在另外两个提供者中解析
我收到这个错误:
Uncaught Error: Can't resolve all parameters for DialogueMetier:([object Object], [object Object], [object Object], [object Object],?, [object Object], [object Object]).
这是我的 "not resolved" 供应商:
import { Injectable } from '@angular/core';
import { TechniqueMetier } from './technique';
import { GlobalVarsMetier } from './global-vars';
import { SynchronisationMappingMetier } from './synchronisation-mapping-metier';
import { InformationBdd } from '../bdd/information-bdd';
import { OutilMetier } from './outil-metier';
import { NotificationMetier } from './notification-metier';
import { InformationActionMetier } from './information-action-metier';
import { InformationAssocieeMetier } from './information-associee-metier';
import { InformationDestinataireMetier } from './information-destinataire-metier';
import { InformationDossierMetier } from './information-dossier-metier';
import { EvenementMetier } from './evenement-metier';
import { DialogueMetier } from './dialogue-metier';
import { TacheMetier } from './tache-metier';
import { DocumentMetier } from './document-metier';
@Injectable()
export class InformationMetier {
constructor(
public techniqueMetier : TechniqueMetier,
public rootScope : GlobalVarsMetier,
public synchronisationMappingMetier : SynchronisationMappingMetier,
public informationBdd : InformationBdd,
public outilMetier : OutilMetier,
public notificationMetier : NotificationMetier,
public informationActionMetier : InformationActionMetier,
public informationAssocieeMetier : InformationAssocieeMetier,
public informationDestinataireMetier : InformationDestinataireMetier,
public informationDossierMetier : InformationDossierMetier,
public evenementMetier : EvenementMetier,
public dialogueMetier : DialogueMetier,
public tacheMetier : TacheMetier,
public documentMetier : DocumentMetier
) {
}
这是一个无法解决的问题:
import { Injectable } from '@angular/core';
import { InformationMetier } from './information-metier';
import { InformationAssocieeMetier } from './information-associee-metier';
import { InformationDestinataireMetier } from './information-destinataire-metier';
import { SynchronisationMappingMetier } from './synchronisation-mapping-metier';
import { DossierMetier } from './dossier-metier';
import { DialogueMessageMetier } from './dialogue-message-metier';
import { DialogueBdd } from '../bdd/dialogue-bdd';
@Injectable()
export class DialogueMetier {
constructor(
public synchronisationMappingMetier : SynchronisationMappingMetier,
public informationAssocieeMetier : InformationAssocieeMetier,
public informationDestinataireMetier : InformationDestinataireMetier,
public dossierMetier : DossierMetier,
public informationMetier : InformationMetier,
public dialogueMessageMetier : DialogueMessageMetier,
public dialogueBdd : DialogueBdd) {
}
我试图了解问题所在。 我将所有提供者放在 app.module.ts 中的提供者声明中。
有人知道我做错了什么吗?
发生这种情况是因为循环依赖在您的情况下,InformationMetier 依赖于 DialogueMetier,而 DialogueMetier 又依赖于 InformationMetier。
When Angular’s bootstrap process tries to setup all the services and inject each service’s dependencies, it detects when such a scenario happens and errors out, instead of getting stuck in an infinite loop.
您需要重构任何一项服务,使其不需要引用其他服务。