/ / Errore TS2315: il tipo 'ElementRef' non è generico: angolare, dattiloscritto, npm, materiale angolare

Errore TS2315: Type 'ElementRef' non è generico - angolare, dattiloscritto, npm, materiale angolare

Sto cercando di utilizzare @ angular / material nella mia app e si sta compilando correttamente, tuttavia sto ottenendo il seguente errore:

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.

Questo non sembra essere un problema comune, qualcuno ha idea di come risolvere?

usando:

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

risposte:

7 per risposta № 1

Stai usando @angular/material e @angular/cdk Versioni 6RC (6.0.0-rc.14-29bf024), che probabilmente dipende dalla versione 6 di Angular.

O declassare il @angular/material pacchetto all'ultima versione stabile (se si sta costruendo direttamente per la produzione) o provare ad aggiornare angolare a 6.0.0-rc.6 versione (se stai mirando al tuo rilascio dopo l'uscita della scuderia 6 angolare).


3 per risposta № 2
npm uninstall @angular/material  --save
npm install @angular/material@5.2.4 --save

Ha funzionato per me.

La versione angolare è 5.2.1.


0 per risposta № 3

È un problema delle dipendenze, è necessario reinstallare le dipendenze.

In package.json abbina la tua versione angolare con "@ angular / material", dovrebbe essere simile. Quindi corri

npm install

0 per risposta № 4

Avevamo lo stesso problema. L'aggiornamento di Angular a 6 non è ancora un'opzione per noi, poiché abbiamo una dipendenza che non supporta nulla rispetto ad Angular 5 (attualmente ripensando a tale dipendenza). Portare materiale fino alla versione 5 era un'opzione, ma non ideale, perché il motivo per cui siamo andati a 6 è stato risolto un bug piuttosto sgradevole nelle schede dei materiali.

Ciò che ha funzionato per noi è stato l'aggiornamento del Nodo all'8.10. Non sono sicuro del perché sia ​​stato risolto, ma è stato così.

Spero che sia d'aiuto.