Ошибка TS2315: тип ElementRef не является универсальным материалом angular

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

Именно для этого есть ошибка, записанная в github против @angular/material. Чтобы мы могли вам помочь, вы должны показать нам свой весьpackage.json, хотя я подозреваю, что ответ в связанной мною ошибке решит вашу проблему. К вашему сведению. Версия узла, который вы запускаете, в значительной степени не имеет значения для такого рода проблем, потому что пакеты указывают, на какой версии движка они могут работать.

msanford 04.05.2018 14:45
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
16
1
28 853
6

Ответы 6

У меня были те же проблемы, но понижение версии @ 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/…. Но я думаю, что это произошло из-за другой проблемы.

yehuda mazal 05.05.2018 01:02

Опять же, это много команд, но я нашел способ обновить все остальное и не нужно переходить на более раннюю версию.

yehuda mazal 05.05.2018 01:03

Это происходит, когда весь ваш 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. Ты спас мне день. - карунакар бхогьяри только что править

karunakar bhogyari 18.05.2018 10:20

У меня тоже сработало. Спасибо!!

Nomesh Gajare 17.07.2018 20:01

Эта ошибка возникает, когда есть несоответствие между вашей угловой версией и версией материала. Чтобы увидеть ошибку, перейдите в файл 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, существует несоответствие версии. Есть два способа решить эту ошибку:

  1. Обновите свой angular с помощью команды: нг обновление (это изменит вашу угловую версию на 6.x).
  2. Измените версию cdk и материала на 5.2.0 вручную, затем введите команду: npm installэто добавит материал версии 5.2.0

Другие вопросы по теме