J'ai un fichier de service partagé qui définit une variable comme ceci:
export class SharedService {
activeModal: String;
}
Ensuite, j'ai un fichier de composant qui importe le service et le définit:
constructor(public sharedService: SharedService) {
}
Dans le fichier modèle de ce composant, je vérifie la valeur du modal:
<div *ngIf="sharedService.activeModal === 'login'"></div>
Tout fonctionne bien, mais dans l'éditeur, la partie sharedService.activeModal === 'login' affiche une ligne rouge ondulée en dessous et survolant cette erreur de peluchage:
[Angular] Expected the operants to be of similar type or any
property sharedService of ModalComponent
Des idées sur ce que je fais mal?
Essayez la minuscule string
(la primitive, plutôt que le type d'objet wrapper String
) dans la déclaration de activeModal
.
Pour ceux qui ont la même erreur mais la solution ne s'applique pas à vous, assurez-vous que vous ne comparez pas les énumérations aux chaînes, si c'est le cas, créez un membre à votre classe et affectez-lui l'énumération, de sorte que vous auriez:
class LalaComponent {
someEnum = SomeEnum;
randomValue: SomeEnum;
}
et en html
<ng-container *ngIf="randomValue === someEnum.option1" >
</ng-container>
Vous pouvez définir pour supprimer toutes les erreurs futures si vous souhaitez ajouter un type supplémentaire
activeModal: any