Angular ';组件';不是角6中的已知元素
我在使用angular时遇到问题,这是我的项目结构(从应用程序文件夹开始,请查看超级管理员文件夹): app.module.tsAngular ';组件';不是角6中的已知元素,angular,typescript,Angular,Typescript,我在使用angular时遇到问题,这是我的项目结构(从应用程序文件夹开始,请查看超级管理员文件夹): app.module.ts import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } fro
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 { }
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 { }
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 { }
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 { }
@NgModule({
declarations: [
HomeComponent,
AdminComponent,
SuperAdminComponent
],
imports: [RouterModule.forRoot(routes), SuperAdminModule],
exports: [RouterModule]
})
export class AppRoutingModule { }
app-routing.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 { }
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 { }
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 { }
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 { }
@NgModule({
declarations: [
HomeComponent,
AdminComponent,
SuperAdminComponent
],
imports: [RouterModule.forRoot(routes), SuperAdminModule],
exports: [RouterModule]
})
export class AppRoutingModule { }
super-admin.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 { }
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 { }
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 { }
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 { }
@NgModule({
declarations: [
HomeComponent,
AdminComponent,
SuperAdminComponent
],
imports: [RouterModule.forRoot(routes), SuperAdminModule],
exports: [RouterModule]
})
export class AppRoutingModule { }
super-admin-routing.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 { }
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 { }
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 { }
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 { }
@NgModule({
declarations: [
HomeComponent,
AdminComponent,
SuperAdminComponent
],
imports: [RouterModule.forRoot(routes), SuperAdminModule],
exports: [RouterModule]
})
export class AppRoutingModule { }
super-admin.component.html
<router-outlet></router-outlet>
<app-shared></app-shared>
请查看super admin.module.ts
文件,我在super admin.module.ts
中导入并声明了ShareComponent,但我不能在super admin.component.html
中使用它,它说:
“应用程序共享”不是已知元素:
I
ng s
使用了7次,但仍然不起作用,因为您的超级管理员组件属于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 { }
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 { }
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 { }
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 { }
@NgModule({
declarations: [
HomeComponent,
AdminComponent,
SuperAdminComponent
],
imports: [RouterModule.forRoot(routes), SuperAdminModule],
exports: [RouterModule]
})
export class AppRoutingModule { }
将super-admin.module更改为
@NgModule({
imports: [
CommonModule,
SuperAdminRoutingModule
],
declarations: [SharedComponent],
exports : [SharedComponent]
})
编辑
如注释中所述,将其添加到app.routing.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 { }
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 { }
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 { }
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 { }
@NgModule({
declarations: [
HomeComponent,
AdminComponent,
SuperAdminComponent
],
imports: [RouterModule.forRoot(routes), SuperAdminModule],
exports: [RouterModule]
})
export class AppRoutingModule { }
如果要在模块中声明任何组件,并且要在其他模块中导入,请确保正在导出组件 超级管理模块as, 将组件导入其他模块。必须确保将共享模块导入到使用导出组件的模块中 app-routing.module.ts
你好@Sajeetharan,当我从
super admin
导出ShareComponent
并将super admin.module
导入app.module
时,它仍然不起作用。但当我将它添加到app routing.module
中时,它会起作用。是的,你节省了我的时间,谢谢你!添加到app-routing.module.ts就成功了。但是,当添加app-routing.module.ts而不是app.module.ts时,它怎么会起作用呢?是的,这就是代码不起作用的原因,我忘记了从超级管理模块导出和导入到app.routing
。非常感谢。