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
Я пытаюсь установить материал, но похоже, что это ошибка.
ДАННЫЕ:
Angular CLI: 1.7.4
Node: 9.11.1



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


У меня были те же проблемы, но понижение версии @ angular / material до версии 5.0 сработало. Вы можете попробовать это.
Может быть, это связано с только что вышедшим angular 1.6?
У меня та же проблема, но я просто не могу понять, как обновить его (вместо того, чтобы понизить одну вещь, обновить все остальное), но я не могу этого понять.
Пробовал npm update -D, а потом npm update -S Но не помогло.
Идея пришла от: Я новичок в angular. Я только что установил угловой материал и угловую анимацию в свой небольшой проект и получил некоторые ошибки
Хорошо, вот как я это исправил: Шаг первый:
npm update -D и npm update -S
Но я не думаю, что это было необходимо, потому что проблема все еще существовала.Шаг буксировки:
npm install -g @angular/cli@latest
ng update
Команда пожаловалась, что мне нужно запустить (я и сделал):
ng update @angular/cli
После попытки: ng serve я получил сообщение об ошибке, так как hammerjs не был установлен, поэтому я запускаю (но это может быть не ваш случай):
npm install hammerjs --save
а также
npm install @types/hammerjs --save-dev
Я не понимаю смысла --save-dev, но я сделал это таким образом. Сейчас его компилируем.
Эта последняя штука с hammerjs была найдена здесь: Модуль не найден: ошибка: не удается разрешить "hammerjs"
Надеюсь на эту помощь.
Я также запускаю "npm install --save @ angular / material @ angular / cdk" из stackoverflow.com/questions/46885008/…. Но я думаю, что это произошло из-за другой проблемы.
Опять же, это много команд, но я нашел способ обновить все остальное и не нужно переходить на более раннюю версию.
Это происходит, когда весь ваш angular packagage в одной версии, а material package - в другой версии.
Я столкнулся с этим, когда моя версия пакета angular была 5.2, а материальная версия была 6.0. поэтому я изменил версию материала обратно на 5.1, и проблема исправлена.
Лучший способ здесь - изменить все ваши материальные зависимости, чтобы они соответствовали зависимостям angular, для тех из вас, у кого есть angular 5.2.0, следуйте этому
ИСХОДНЫЙ
"dependencies": {
"@angular/core": "^5.2.0",
"@angular/cdk": "^6.0.1",
"@angular/material": "^6.0.1"
}
просто измените их на текущую версию других компонентов angular.
ФИНАЛЬНЫЙ
"dependencies": {
"@angular/core": "^5.2.0",
"@angular/cdk": "^5.2.0",
"@angular/material": "^5.2.0"
}
ТО сделай npm install
У меня это сработало. Спасибо @moze king. Ты спас мне день. - карунакар бхогьяри только что править
У меня тоже сработало. Спасибо!!
Эта ошибка возникает, когда есть несоответствие между вашей угловой версией и версией материала. Чтобы увидеть ошибку, перейдите в файл package.json, где вы можете найти версию angular и версию материала.
"dependencies": {
"@angular/animations": "^5.2.0",
"@angular/cdk": "^6.2.1", //ERROR here the version is 6.x
"@angular/common": "^5.2.0",
"@angular/compiler": "^5.2.0",
"@angular/core": "^5.2.0",
"@angular/forms": "^5.2.0",
"@angular/http": "^5.2.0",
"@angular/material": "^6.2.1", // ERROR here the material version is 6.x
"@angular/platform-browser": "^5.2.0",
"@angular/platform-browser-dynamic": "^5.2.0",
"@angular/router": "^5.2.0",
"core-js": "^2.4.1",
"hammerjs": "^2.0.8",
"rxjs": "^5.5.6",
"zone.js": "^0.8.19"}
},
Как вы можете видеть в приведенном выше файле package.json, существует несоответствие версии. Есть два способа решить эту ошибку:
Именно для этого есть ошибка, записанная в github против
@angular/material. Чтобы мы могли вам помочь, вы должны показать нам свой весьpackage.json, хотя я подозреваю, что ответ в связанной мною ошибке решит вашу проблему. К вашему сведению. Версия узла, который вы запускаете, в значительной степени не имеет значения для такого рода проблем, потому что пакеты указывают, на какой версии движка они могут работать.