/ / Fehler TS2315: Typ 'ElementRef' ist nicht generisch - eckig, Typoskript, npm, eckiges Material

Fehler TS2315: Type 'ElementRef' ist nicht generisch - eckig, typescript, npm, angular-material

Ich versuche @ angular / materials in meiner App zu verwenden und es wird erfolgreich kompiliert, jedoch erhalte ich den folgenden Fehler:

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.

Dies scheint kein allgemeines Problem zu sein, hat jemand eine Idee, wie man es löst?

Verwenden:

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

Antworten:

7 für die Antwort № 1

Sie verwenden @angular/material und @angular/cdk 6RC-Versionen (6.0.0-rc.14-29bf024), die wahrscheinlich auf Angular Version 6 abhängen.

Entweder herabstufen @angular/material Paket zur spätesten beständigen Version (wenn Sie direkt für Produktion aufbauen) oder versuchen, eckig zum zu aktualisieren 6.0.0-rc.6 Version (wenn Sie Ihre Freigabe nach dem eckigen 6 Stall ausrichten).


3 für die Antwort № 2
npm uninstall @angular/material  --save
npm install @angular/material@5.2.4 --save

Es hat für mich funktioniert.

Eckige Version ist 5.2.1.


0 für die Antwort № 3

Es ist ein Abhängigkeiten Problem, müssen Abhängigkeiten neu installieren.

In Paket.json Passe deine eckige Version mit "@ angular / material" anEs sollte ähnlich sein. Dann renne

npm install

0 für die Antwort № 4

Wir hatten das gleiche Problem. Das Upgrade von Angular auf 6 ist für uns noch keine Option, da wir eine Abhängigkeit haben, die nichts über Angular 5 unterstützt (derzeit wird diese Abhängigkeit neu überdacht). Es war eine Option, Material auf Version 5 herunter zu nehmen, aber nicht ideal, denn der Grund, warum wir zu 6 gegangen sind, war, dass es einen ziemlich fiesen Fehler auf Material-Tabs behoben hat.

Was für uns funktionierte war, Node auf 8.10 zu aktualisieren. Ich bin mir nicht sicher, warum das gelöst wurde, aber es ist passiert.

Ich hoffe es hilft.