Как добавить на страницу "matcard-content" из материала Angular?

Угловой 11 Я пытаюсь добавить "mat-card-content" из Angular Material в компонент HomePageComponent страницы. app.module.ts

import {MatCardModule} from '@angular/material/card';

@NgModule({
  declarations: [
    ...
    HomePageComponent
  ],
  imports: [
    BrowserModule,
    ...
    MatCardModule
  ],

Здесь IDEA возвращает ошибку:

Class MatCardModule is not an Angular module

home-page-component.html

<div id = "home-page">
  <mat-card-content>
    <p>home-page works!</p>
  </mat-card-content>
</div>

возвращает ошибку

Error: src/app/views/home-page/home-page.component.html:2:1 - error NG8001: 'mat-card-content' is not a known element:
  1. If 'mat-card-content' is an Angular component, then verify that it is part of this module.
  2. If 'mat-card-content' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.

Возможно, проблема в несовместимости версий некоторых компонентов. Но я не могу найти информацию о том, какие компоненты с какими сочетаются.

Вот что я установил.

package.json

{
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^11.0.7",
    "@angular/cdk": "^11.2.7",
    "@angular/common": "~11.0.6",
    "@angular/compiler": "~11.0.6",
    "@angular/core": "~11.0.6",
    "@angular/forms": "~11.0.6",
    "@angular/material": "^11.2.4",
    "@angular/platform-browser": "~11.0.6",
    "@angular/platform-browser-dynamic": "~11.0.6",
    "@angular/router": "~11.0.6",
    "@types/intro.js": "^3.0.0",
    "bootstrap-css-only": "^4.4.1",
    "intro.js": "^3.4.0",
    "ng-sidebar": "^9.4.2",
    "ngx-device-detector": "^2.0.6",
    "rxjs": "~6.6.0",
    "tslib": "^2.0.0",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.1100.6",
    "@angular/cli": "~11.0.6",
    "@angular/compiler-cli": "~11.0.6",
    "@types/jasmine": "~3.6.0",
    "@types/node": "^12.11.1",
    "codelyzer": "^6.0.0",
    "jasmine-core": "~3.6.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~5.1.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage": "~2.0.3",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "tslint": "~6.1.0",
    "typescript": "~4.0.2"
  }
}
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
0
26
1

Ответы 1

Остановите текущий запущенный экземпляр вашего приложения. Снова запустите ng build. Затем (повторно) запустите его с ng serve. Обычно компилятор распознает модуль. Это как-то связано с опережающим подходом к компиляции, начиная с Angular 9.

IDEA также выдает ошибку. Я поправил вопрос

alex Serg 04.04.2021 10:25

Попробуйте также перезапустить IDEA. Он также иногда борется с последними версиями Angular.

Lynx 242 04.04.2021 10:28

Что ж, теперь я понял. Ваша версия материала слишком новая по сравнению с другими вашими пакетами Angular. Попробуйте выяснить, существует ли версия Material 11.0.6 (или чуть ниже). Предполагается, что IDEA предложит вам все доступные версии, когда вы измените номер версии в package.json. Сделайте то же самое с вашей версией CDK.

Lynx 242 04.04.2021 10:34

вы можете изменить версию прямо в файле package.json? Я думал, что это нужно делать только с помощью команды npm i --save @ angular / material

alex Serg 04.04.2021 10:38

Ты прав. Но ваша IDE умная. Вы можете редактировать номер версии, IntelliJ распознает это и предложит вам запустить npm install. В конце концов, это то же самое, но вы можете получить его более удобным способом. ?

Lynx 242 04.04.2021 10:43

Теперь при компиляции ошибок нет, но при открытии страницы выдается такое сообщение: «Версия Angular Material (11.0.4) не соответствует версии Angular CDK (11.2.7). Убедитесь, что версии этих двух пакетов точно совпадают ". Оказывается, вам нужно понизить версию CDK

alex Serg 04.04.2021 10:54

Позвольте нам продолжить обсуждение в чате.

alex Serg 04.04.2021 11:24

Извините, из-за Пасхи я не могу принять участие в чате. Вы тоже понизили версию CDK? Он находится прямо под Angular-Animations в разделе зависимостей вашего package.json.

Lynx 242 04.04.2021 12:11

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