erreur TS2304: impossible de trouver $ dans le composant angular 5

J’ai un side-navbar en composante angular qui se développe en un clic semblable à celui-ci . L’extrait de code HTML utilisé pour créer la barre de navigation est:

HTML:

Comme son nom le openNav() ( openNav() ), le code HTML suivant développera la barre de navigation :

 

Et le code HTML suivant fermera la barre de navigation :

 

Manuscrit:

Le tapuscrit utilisé est:

 openNav() { $("#mySidenav").css("width", "50%"); // Line A } closeNav() { $("#mySidenav").css("width", "0%"); // Line B } 

Le code typescript ci-dessus n’est pas inclus dans la fonction ngOnInit() .

Déclaration du problème:

Dès que je ng serve sur mon invite de commande, le message d’erreur suivant s’affiche:

erreur TS2304: Impossible de trouver le nom ‘$’.

Le $ représente les lignes ( Ligne A et Ligne B dans le manuscrit ci-dessus) à l’intérieur des fonctions openNav () et closeNav () ci-dessus dans le manuscrit.

Je me demande quelles sont les principales raisons de cette erreur, car parfois, je reçois l’erreur et d’autres fois, je ne le fais pas lorsque je ng-serve .

Je suppose que $ est jQuery . Vous devez append jQuery à vos dépendances et l’importer dans le fichier où vous l’utilisez. Je suggèrerais également d’append les définitions de types pour jQuery: npm install @types/jquery --save-dev

Si vous importez jQuery de toute autre manière, ajoutez simplement les types.

C’est une solution possible:

HTML:

 
And the following HTML code will close the navbar:

Manuscrit:

 //Define a visual style variable vstyle: = 'width:50%;'; openNav() { vstyle = 'width:50%;'; // Line A } closeNav() { vstyle = 'width:0%;'; // Line A } 

Si vous utilisez le fichier jQuery dans le fichier ts, déclarez $ comme une variable de type quelconque, vous n’obtiendrez pas l’erreur.

déclarer var $: any

Utilisez style.width

 

Et définissez ensuite la valeur de “myWidthVariable” sur vos méthodes openNav () et closeNav () (uniquement le nombre).