gpt4 book ai didi

angular - “组件”不是 Angular 6 中的已知元素

转载 作者:行者123 更新时间:2023-12-03 20:29:27 26 4
gpt4 key购买 nike

我在使用 angular 时遇到问题,这是我的项目结构(从 app 文件夹开始,请查看 super 管理员文件夹):

- Modules
---- home [+]
---- admin [+]
---- super-admin
-------- super-admin-routing.module.ts
-------- super-admin.module.ts
-------- (And html, scss, component file)
-------- pages
------------ auth [+]
------------ unauth [+]
------------ shared
---------------- shared.component.ts
---------------- (And html, scss file)
- cores [+]
- config [+]
- shared [+]
- strores [+]
- app-routing.module.ts
- app.module.ts
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';
@NgModule({
declarations: [
AppComponent,

],
imports: [
BrowserModule,
AppRoutingModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
app-routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from './modules/home/home.component';
import { AdminComponent } from './modules/admin/admin.component';
import { SuperAdminComponent } from './modules/super-admin/super-admin.component';

const routes: Routes = [
{
path: "",
component: HomeComponent
},
{
path: "home",
component: HomeComponent
},
{
path: "admin",
component: AdminComponent
},
{
path: "super-admin",
component: SuperAdminComponent,
loadChildren: './modules/super-admin/super-admin.module#SuperAdminModule'
},
{
path: "**",
component: HomeComponent
}
];

@NgModule({
declarations: [
HomeComponent,
AdminComponent,
SuperAdminComponent
],
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
super 管理员.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { SuperAdminRoutingModule } from './super-admin-routing.module';
import { SharedComponent } from './pages/shared/shared.component';

@NgModule({
imports: [
CommonModule,
SuperAdminRoutingModule
],
declarations: [SharedComponent]
})
export class SuperAdminModule { }
super-admin-routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { LoginComponent } from './pages/login/login.component';
import { AuthComponent } from './pages/auth/auth.component';


const routes: Routes = [
{
path: "login",
component: LoginComponent
},
{
path: "",
component: AuthComponent,
loadChildren: "./pages/auth/auth.module#AuthModule"
},
{
path: "home",
component: AuthComponent,
loadChildren: "./pages/auth/auth.module#AuthModule"
},
{
path: "**",
component: AuthComponent
},

];

@NgModule({
declarations: [
LoginComponent,
AuthComponent
],
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class SuperAdminRoutingModule { }
super 管理员.component.html
<router-outlet></router-outlet>
<app-shared></app-shared>
最后是 shared.component.ts 文件
import { Component, OnInit } from '@angular/core';

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

constructor() { }

ngOnInit() {
}

}
请看 super-admin.module.ts文件,我在 super-admin.module.ts 中导入并声明了 ShareComponent但我不能在 super-admin.component.html 中使用它,它说:

'app-shared' is not a known element:

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

我想我错过了什么吗?
ng s用了 7 次还是不行

最佳答案

由于您的 super-admin.component 属于 app.module.ts,您需要导出 SharedComponent 从 SuperAdminModule 并导入 SuperAdminModule 在你的 app.module.ts

将 super-admin.module 更改为,

@NgModule({
imports: [
CommonModule,
SuperAdminRoutingModule
],
declarations: [SharedComponent],
exports : [SharedComponent]
})

EDIT 如评论中所述,将其添加到 app.routing.module.ts
@NgModule({
declarations: [
HomeComponent,
AdminComponent,
SuperAdminComponent
],
imports: [RouterModule.forRoot(routes), SuperAdminModule],
exports: [RouterModule]
})
export class AppRoutingModule { }

关于angular - “组件”不是 Angular 6 中的已知元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52789319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com