在Angular 2+中,可以使用ngModules来避免重复代码。下面是一个示例解决方法:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
// 导入需要共享的组件、指令、服务等
@NgModule({
declarations: [
// 声明需要共享的组件、指令
],
imports: [
CommonModule,
// 导入需要共享的模块
],
exports: [
// 导出需要共享的组件、指令
],
providers: [
// 提供需要共享的服务
]
})
export class SharedModule { }
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SharedModule } from 'path/to/shared.module';
@NgModule({
declarations: [
// 声明本模块的组件、指令
],
imports: [
CommonModule,
SharedModule, // 导入共享模块
// 其他模块需要的模块
],
exports: [
// 导出本模块的组件、指令
],
providers: [
// 本模块的服务
]
})
export class FeatureModule { }
这样,可以在多个模块中重复使用共享模块,避免代码重复。同时,共享模块中的组件、指令、服务等也可以在其他模块中直接使用。