Angular компоненты, объявленные в общем модуле, не распознаются в функциональных модулях после импорта общего модуля в функциональный модуль - PullRequest
0 голосов
/ 21 марта 2020

Я импортировал общий модуль в мой appModule и без проблем использовал один из его компонентов, но не работает, когда я импортировал свой общий модуль в свой функциональный модуль.

Общий модуль:

@NgModule({
  imports: [
    CommonModule,
    RouterModule,
    CarouselModule
  ],
  declarations: [
    CarouselComponent,
    SpinnerComponent,
    OverviewComponent,
    TableComponent
  ],
  exports: [
    CommonModule,
    CarouselComponent,
    SpinnerComponent,
    OverviewComponent,
    TableComponent
  ],

})
export class SharedModule { }

Функциональный модуль:

@NgModule({
  declarations: [
    IncidentsContainerComponent,
    NewIncidentComponent
  ],
  imports: [
    ReactiveFormsModule,
    IncidentsRoutes, // feature routing
    BsDatepickerModule.forRoot(),
    TimepickerModule.forRoot(),
    NgSelectModule,
    SharedModule
  ],
  providers: [
    IncidentsService
  ]
})
export class IncidentsModule { }

В моем компоненте функционального модуля я просто использую селектор TableComponent:

<app-table></app-table>

, и я получаю эту ошибку:

  1. Если 'app-table' является компонентом Angular, то убедитесь, что он является частью этого модуля.
  2. Если 'app-table' является веб-компонентом, добавьте 'CUSTOM_ELEMENTS_SCHEMA' в @ NgModule.schemas этого компонента для подавления этого сообщения.

TableComponent:

import { Component, OnInit, Input } from '@angular/core';

@Component({
  selector: 'app-table',
  templateUrl: './table.component.html',
  styleUrls: ['./table.component.css']
})
export class TableComponent implements OnInit {

  @Input() elements: Array<any>;
  @Input() headers: Array<string>;

  constructor() { }

  ngOnInit() {
    console.log('...from table ', this.headers);
    console.log('...from table ', this.elements);
  }

}

Это структура моего проекта:

enter image description here

1 Ответ

0 голосов
/ 21 марта 2020

В случае, если у кого-то в будущем возникнет та же проблема, хотя полученная ошибка ссылалась на общий компонент ('app-table') , экспортированный в мой SharedModule, но проблема заключалась в том, что Я забыл объявить Компонент, в котором я ссылаюсь на общий компонент ('app-table') в своем собственном Модуле. Я думаю, что ошибка Angular должна была дать то, что компонент, в котором я использую мой общий компонент, не зарегистрирован ни в одном модуле, и он был бы более понятным и понятным.

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