在Angular中,组件可以是通用的,也可以是专门为应用程序创建的。在这两种情况下,都需要将这些组件组织成模块。有一些选择来组织模块,包括将所有组件放在一个共享模块中,或者将每个组件放入自己的单个组件模块中。
一种解决方法是将所有通用组件放在一个共享模块中。这个模块可以作为整个应用程序的一部分进入。例如,我们可以创建一个名为“SharedModule”的模块,并将组件导出。
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SharedComponent1 } from './shared-component1.component';
import { SharedComponent2 } from './shared-component2.component';
@NgModule({
declarations: [
SharedComponent1,
SharedComponent2
],
exports: [
SharedComponent1,
SharedComponent2
],
imports: [
CommonModule
],
})
export class SharedModule { }
这样,可以在其他模块中导入和使用这些共享组件。
另一种方法是创建单个组件模块。这个模块包含了一个组件和相关的代码。例如,我们可以创建一个名为“FeatureModule”的模块。在这个模块中,我们可以声明导出该功能模块中的组件:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FeatureComponent } from './feature.component';
@NgModule({
declarations: [ FeatureComponent ],
exports: [ FeatureComponent ],
imports: [ CommonModule ]
})
export class FeatureModule { }
然后,我们可以在其他模块中导入和使用这些组件。
这些方法都有自己的优点和缺点。使用共享模块可以更轻松地管理和重用组