/ / Erreur TS2315: Le type 'ElementRef' n'est pas générique - angular, dactylographe, npm, angular-material

Erreur TS2315: Le type 'ElementRef' n'est pas générique - angular, dactylographe, npm, angular-material

J'essaie d'utiliser @ angular / materials dans mon application et sa compilation est réussie, mais l'erreur suivante s'affiche:

webpack: Compiled successfully.
ERROR in node_modules/@angular/material/button-toggle/typings/button-toggle.d.ts(136,20): error TS2315: Type "ElementRef" is not generic.
node_modules/@angular/material/button-toggle/typings/button-toggle.d.ts(154,104): error TS2315: Type "ElementRef" is not generic.
node_modules/@angular/material/slide-toggle/typings/slide-toggle.d.ts(53,15): error TS2315: Type "ElementRef" is not generic.
node_modules/@angular/material/slide-toggle/typings/slide-toggle.d.ts(55,18): error TS2315: Type "ElementRef" is not generic.

Cela ne semble pas être un problème courant. Quelqu'un sait-il comment le résoudre?

En utilisant:

Angular CLI: 1.7.4
Node: 8.11.1
OS: win32 x64
Angular: 5.2.10
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cdk: 6.0.0-rc.14-29bf024
@angular/cli: 1.7.4
@angular/material: 6.0.0-rc.14-29bf024
@angular-devkit/build-optimizer: 0.3.2
@angular-devkit/core: 0.3.2
@angular-devkit/schematics: 0.3.2
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 1.10.2
@schematics/angular: 0.3.2
@schematics/package-update: 0.3.2
typescript: 2.5.3
webpack: 3.11.0

Réponses:

7 pour la réponse № 1

Vous utilisez @angular/material et @angular/cdk Versions 6RC (6.0.0-rc.14-29bf024), qui dépendent probablement de la version angulaire 6.

Soit déclasser le @angular/material paquet vers la dernière version stable (si vous construisez directement pour la production) ou essayez de mettre à niveau angulaire vers 6.0.0-rc.6 version (si vous visez votre libération après que 6 stable angulaire est sorti).


3 pour la réponse № 2
npm uninstall @angular/material  --save
npm install @angular/material@5.2.4 --save

Cela a fonctionné pour moi.

La version angulaire est 5.2.1.


0 pour la réponse № 3

C'est un problème de dépendance, besoin de ré-installer des dépendances.

Dans package.json correspond à votre version angulaire avec "@ angular / material", ça devrait être pareil. Puis courir

npm install

0 pour la réponse № 4

Nous avions le même problème. Mettre à niveau Angular vers 6 n'est pas encore une option pour nous, car nous avons une dépendance qui ne prend en charge rien de plus que Angular 5 (en train de repenser cette dépendance). Récupérer Material vers la version 5 était une option, mais pas idéale, car la raison pour laquelle nous sommes passés à la version 6 a été corrigée.

Ce qui a fonctionné pour nous a été de mettre à niveau Node vers 8.10. Je ne suis pas sûr de savoir pourquoi cela a résolu le problème, mais cela a été le cas.

J'espère que cela aide.