J'ai deux services S1 et S2 en angulaire
export class S1 {
constructor(private s2: S2) {
// ...
}
}
3 Réponses :
Je ne pense pas que cela soit possible parce que le décorateur "@Ijejejectable" ajoute uniquement les métadonnées fournies qui définit quels injecteurs fourniront l'injectable en l'associant à une @ngModule. (Voir Documentation ) P>
Peut-être que si vous partagez un cas d'utilisation concret, nous pouvons voir s'il y a une autre solution de contournement, mais il y a probablement une pénurie dans votre conception de la structure d'applications. P>
Je ne suis pas à peu près sûr que je reçois ce que vous voulez, mais permettez-moi de le casser comme suit:
Vous pouvez injecter un service dans un autre service comme suit: P>
@Injectable()
export class First {
}
@Injectable()
export class Second {
constructor(@Inject(First) first:First){
}
}
Je souhaite créer une instance de S2 qui est uniquement scopée pour S1 (la même chose que pour les composants) P>
Eh bien, c'est exactement ce que vous faites. Vous fournissez S1 et S2 dans le cadre d'un composant. P>
@Component({ ... viewProviders: [ S1, S2 ] }) export class MyComponent { ... }
Je pense qu'il ne doit pas avoir besoin de mettre en place des services à la composante, il a besoin de mettre en place un service à un autre, je me trompe?
@Abdulrahman Je ne comprends pas complètement la question. J'aurais dû voter pour le fermer comme on ne sait pas ce qui est demandé.
Nouveau S2 CODE> ??????????