Ошибка TS2315: тип ElementRef не является универсальным - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь использовать @ 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

Ответы [ 4 ]

0 голосов
/ 03 июля 2018

У нас была та же проблема. Обновление Angular до 6 пока не подходит для нас, поскольку у нас есть зависимость, которая не поддерживает ничего по сравнению с Angular 5 (в настоящее время переосмысливая эту зависимость). Перенос материала до версии 5 был вариантом, но не идеальным, потому что причина, по которой мы перешли на 6, заключалась в том, что он исправил довольно неприятную ошибку на вкладках материалов.

Что нам помогло, так это обновить Node до 8.10. Я не уверен, почему это решило это, но это сделало.

Надеюсь, это поможет.

0 голосов
/ 08 июня 2018

Это проблема зависимостей , необходимо переустановить зависимости.

В package.json сопоставьте вашу угловую версию с "@ angular / material" , она должна быть похожей. Затем запустите

npm install 
0 голосов
/ 22 июня 2018
npm uninstall @angular/material  --save
npm install @angular/material@5.2.4 --save

Это сработало для меня.

Угловая версия 5.2.1.

0 голосов
/ 02 мая 2018

Вы используете версии @angular/material и @angular/cdk 6RC (6.0.0-rc.14-29bf024), которые, вероятно, зависят от версии Angular 6.

Либо обновите пакет @angular/material до последней стабильной версии (если вы создаете версию непосредственно для производства), либо попробуйте обновить angular до версии 6.0.0-rc.6 (если вы планируете выпуск после выхода стабильной версии angular 6) .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...