我正在尝试在我的应用中使用@ angular / materials并且它正在成功编译,但是我收到以下错误:
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.
这似乎不是一个常见的问题,有没有人知道如何解决?
使用:
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
答案 0 :(得分:13)
您正在使用@angular/material
和@angular/cdk
6RC版本(6.0.0-rc.14-29bf024)
,这可能取决于Angular版本6.
将@angular/material
软件包降级到最新的稳定版本(如果您直接为生产构建)或尝试将角度升级到6.0.0-rc.6
版本(如果您正在瞄准发布版本)在角6稳定出来之后)。
答案 1 :(得分:11)
npm uninstall @angular/material --save
npm install @angular/material@5.2.4 --save
对我有用。
角度版本为5.2.1
。
答案 2 :(得分:0)
这是依赖项问题,需要重新安装依赖项。
在package.json 将您的角度版本与“@ angular / material”匹配,它应该是相似的。 然后运行
npm install
答案 3 :(得分:0)
我们遇到了同样的问题。对于我们来说,将Angular升级到6还不是一个选择,因为我们有一个不支持Angular 5的依赖项(目前正在重新考虑该依赖项)。将Material降至版本5是一个选择,但不是理想选择,因为我们选择版本6的原因是它修复了Material选项卡上的一个非常讨厌的错误。
对我们有用的是将Node升级到8.10。我不确定为什么能解决这个问题,但是确实可以。
希望有帮助。