关于angular模块的问题很复杂,我暂且理解你想要定义一个公共模块,然后模块里面有一堆公用组件,这些组件可以在任意其他模块使用,那么这种情况下,你定义的公共模块必须要导出你所有隶属于这个模块的公共组件,在其他模块使用的时候不用导入这些公共组件,只需要导入公共模块即可,例如:公共模块 // 公共模块 import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { A } form 'a.component'; import { B } form 'b.component'; import { C } form 'c.component'; @NgModule({ imports: [ CommonModule, ], exports: [ CommonModule, AComponent, BComponent, CComponent, ], declarations: [ AComponent, BComponent, CComponent, ], }) export class SharedModule { } 调用模块 import { SharedModule } from './../shared/shared.module'; import { NgModule } from '@angular/core'; import { CallerComponent } from './caller.component'; @NgModule({ imports: [ CommonModule, SharedModule, ], declarations: [ CallerComponent ], providers: [] }) export class MallModule { } 调用的组件 import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-caller', template: ` <p>{{title}}</p> <app-a /> <app-c /> <app-b /> `, styleUrls: [] }) export class CallerComponent implements OnInit { title:string; constructor() { this.title = 'caller'; } ngOnInit() { } }
关于angular模块的问题很复杂,我暂且理解你想要定义一个公共模块,然后模块里面有一堆公用组件,这些组件可以在任意其他模块使用,那么这种情况下,你定义的公共模块必须要导出你所有隶属于这个模块的公共组件,在其他模块使用的时候不用导入这些公共组件,只需要导入公共模块即可,例如:
公共模块
调用模块
调用的组件