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 № 1Sie 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.