如何在另一个模块/路由器中使用组件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在另一个模块/路由器中使用组件相关的知识,希望对你有一定的参考价值。
我正在尝试使用另一个模块中的另一个组件,但它不能在我的路由器插座中工作。
app.module
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { MainModule } from './main/main.module';
import { AppComponent } from './app/app.component';
import { KeypadComponent } from './keypad/keypad.component;
import { routing } from './app.routing';
@NgModule({
declarations: [
AppComponent,
MainComponent,
KeypadComponent
],
imports: [
BrowserModule,
CommonModule,
MainModule,
routing
],
bootstrap: [AppComponent]
})
export class AppModule { }
main.module
import { NgModule } from '@angular/core';
import { routing } from '../app.routing';
import { ProductComponent } from './product/product.component';
@NgModule({
imports: [
routing
],
declarations: [ProductComponent]
})
export class MainModule { }
我的问题是,当我尝试在product.component.html
中调用键盘组件时,它会给我一个错误,表明它不存在。但是,当我在我的main.component.html
中调用它时,它工作正常。
答案
如果应用程序模块和主模块应使用您的组件,则应将其放入主模块或其他共享模块中。以下示例显示如何使用共享模块。
AppModule声明
@NgModule({
declarations: [
AppComponent,
MainComponent,
],
imports: [
CommonModule,
MainModule,
SharedModule,
routing
],
bootstrap: [AppComponent]
})
export class AppModule { }
MainModule声明
@NgModule({
imports: [
CommonModule,
routing,
SharedModule
],
declarations: [ProductComponent]
})
export class MainModule { }
SharedModule声明
@NgModule({
imports: [ CommonModule ],
declarations: [ KeypadComponent ],
exports: [ KeypadComponent ]
})
export class SharedModule { }
以上是关于如何在另一个模块/路由器中使用组件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用导航架构组件修复动态功能模块中片段的发布版本中的ClassNotFoundException?