Je construis une application et une partie du code permet au développeur de spécifier quel composant ils veulent rendre une certaine partie. Je veux que les utilisateurs sachent qu'ils doivent implémenter une interface mais je ne suis pas sûr de savoir comment écrire correctement.Comment définir une interface pour une instance de classe en utilisant le constructeur de classe
export interface ICustomComponent {
templateObject: any;
}
export class MyComponent implements ICustomComponent {
}
export class MyLib {
constructor(
private yourComponent: ICustomComponent
) {}
}
new MyLib(MyComponent); <== Fails
Je suis en train d'écrire un code avec angulaire, et je ne peux pas courir nouvel opérateur, mais laisser angulaire de résoudre et de construire ce composant.
Here un exemple qui illustre mon problème.
Comment faire face à ce problème?
Que voulez-vous passer ici 'new MyLib (...);'? Instance comme 'new MyLib (new MyComponent());' ou référence à la classe? –
https://angular.io/guide/dynamic-component-loader#resolving-components Cet exemple illustre uniquement le problème – tom10271
. Voulez-vous transmettre 'MyComponent' à componentFactoryResolver.resolveComponentFactory (MyComponent);'? –