角 即使我声明了exports也不是模块的已知元素

问题描述 投票:1回答:1

因此,我创建了一个模块,在该模块内部,我声明了一个Navbar组件,如下所示:

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


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

  constructor() { }

  ngOnInit(): void {
  }

}

在模块中,我有这个

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { UsuariosComponent } from './usuarios/usuarios.component';
import { ProductosComponent } from './productos/productos.component';
import { NavComponent } from './nav/nav.component';



@NgModule({
  declarations: [NavComponent, UsuariosComponent, ProductosComponent, ],
  imports: [
    CommonModule
  ],
  exports: [
    NavComponent,
    UsuariosComponent,
    ProductosComponent
  ],
})
export class DashboardModule { }

并且在模块组件html中,我有这样的选择器:

<app-nav></app-nav>

<h1>Dashboard</h1>

然后在我的app-module.ts中,我导入了模块,这是文件

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { NavbarComponent } from './components/navbar/navbar.component';
import { LandingHeadComponent } from './components/landing-head/landing-head.component';
import { ProyectosSliderComponent } from './components/proyectos-slider/proyectos-slider.component';
import { ProductosLandingComponent } from './components/productos-landing/productos-landing.component';
import { TestimoniosComponent } from './components/testimonios/testimonios.component';
import { FooterComponent } from './components/footer/footer.component';
import { InicioComponent } from './inicio/inicio.component';
import { ProyectosComponent } from './proyectos/proyectos.component';
import { ContactoComponent } from './contacto/contacto.component';
import { CatalogoComponent } from './catalogo/catalogo.component';
import { InicioSesionComponent } from './components/inicio-sesion/inicio-sesion.component';

import { FormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';
import { AdminHomeComponent } from './components/admin-home/admin-home.component';
import { DashboardModule } from './dashboard/dashboard.module';



@NgModule({
  declarations: [
    AppComponent,
    NavbarComponent,
    LandingHeadComponent,
    ProyectosSliderComponent,
    ProductosLandingComponent,
    TestimoniosComponent,
    FooterComponent,
    InicioComponent,
    ProyectosComponent,
    ContactoComponent,
    CatalogoComponent,
    InicioSesionComponent,
    AdminHomeComponent
  ],
  imports: [
    DashboardModule,
    BrowserModule,
    AppRoutingModule,
    FormsModule,
    HttpClientModule,
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

并且不断抛出此错误

'app-nav' is not a known element:
1. If 'app-nav' is an Angular component, then verify that it is part of this module.
2. If 'app-nav' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.

2 <app-nav></app-nav>

有什么建议吗?我已经为此战斗了几个小时:(

编辑:这是我的模块,也许我在处理此方法时遇到错误?

Module Structure

我想归档这样的东西:

Idea

angular angular-components angular-module
1个回答
0
投票

您要将NavComponent导入两个模块,应该将其导入DashboardModule,然后将DashboardModule导入AppModule

希望对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.