Soy bastante nuevo en Angular y tengo problemas para importar mis componentes. Declaré un módulo donde obtengo todos los componentes, para usarlo como un módulo de componentes compartidos. Uso el componente de entrada dentro del componente de la barra lateral, y el componente de la barra lateral en el módulo de la aplicación funciona bien. El problema es cuando quiero usar el componente de entrada dentro de la página base, importo el módulo y uso la etiqueta en el lado html y el código de Visual Studio no me advierte nada, pero al compilar, la consola me dice que 'app-input' is not a known element
En mi proyecto tengo la siguiente estructura
App |-pages |--base | |-widgets |--sidebar |---sidebar.component.ts |--input |---input.component.ts |--widgets.module.ts | |-app.module.tsentrada.componente.ts
import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-input', templateUrl: './input.component.html', styleUrls: ['./input.component.css'] }) export class InputComponent implements OnInit { constructor() { } ngOnInit(): void { } }widgets.módulo.ts
import { NgModule } from '@angular/core'; import { HeaderComponent } from './header/header.component'; import { FooterComponent } from './footer/footer.component'; import { SidebarComponent } from './sidebar/sidebar.component'; import { InputComponent } from './input/input.component'; @NgModule({ declarations:[ HeaderComponent, FooterComponent, SidebarComponent, InputComponent ], exports:[ HeaderComponent, FooterComponent, SidebarComponent, InputComponent ] }) export class WidgetsModule { }No pude encontrar ninguna solución en Internet (o no pude averiguar qué está pasando con seguridad) y he estado buscando resolverlo durante una semana. Espero sus respuestas y gracias de antemano
EDITAR 1
base.módulo.ts
import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { BaseRoutingModule } from './base-routing.module'; import { BaseComponent } from './base.component'; import { WidgetsModule } from 'src/app/widgets/widgets.module'; @NgModule({ declarations: [ BaseComponent ], imports: [ CommonModule, BaseRoutingModule, WidgetsModule ] }) export class BaseModule { }EDITAR 2
Corregir la estructura de carpetas
Este error generalmente ocurre cuando no importó el módulo, donde desea usar ese componente. Entonces, el módulo que tiene el componente de la página base debe importar WidgetsModule.
agregue estas líneas en su archivo app.module.ts
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; @NgModule({ declarations:[ HeaderComponent, FooterComponent, SidebarComponent, InputComponent ], imports : [ ---- ], schemas: [ CUSTOM_ELEMENTS_SCHEMA ] })Después de revisar su repositorio, descubrí que su problema es que no importó el BaseModule dentro de su AppModule . De lo contrario, su lógica era correcta.