Я добавил модуль Angular Material, подобный этому, в файл material.module.ts.
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatIconModule } from '@angular/material/icon';
import { MatButtonModule } from '@angular/material/button';
import { MatDialogModule } from '@angular/material/dialog';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatSelectModule } from '@angular/material/select';
import { MatInputModule } from '@angular/material/input';
import { MatDatepickerModule } from '@angular/material/datepicker';
@NgModule({
declarations: [],
imports: [
CommonModule,
MatToolbarModule,
MatIconModule,
MatButtonModule,
MatDialogModule,
MatFormFieldModule,
MatSelectModule,
MatInputModule,
MatDatepickerModule,
],
exports: [
MatToolbarModule,
MatIconModule,
MatButtonModule,
MatDialogModule,
MatFormFieldModule,
MatSelectModule,
MatInputModule,
MatDatepickerModule,
],
})
export class MaterialModule {}
В моем коде я добавил модуль материала в раздел импорт один раз, а затем в то же время я добавил тот же модуль в раздел экспорт.
Итак, я хочу написать код примерно так:
importsAM = [
MatFormFieldModule,
MatSelectModule,
MatInputModule,
MatDatepickerModule,
]
@NgModule({
declarations: [],
imports: [
CommonModule,
importsAM
],
exports: [
importsAM
],
})
Итак, есть способ написать что-то подобное. или Как я могу уменьшить повторяющийся код?
Конечно. Используйте спред оператор:
...
const modules = [
MatToolbarModule,
MatIconModule,
MatButtonModule,
MatDialogModule,
MatFormFieldModule,
MatSelectModule,
MatInputModule,
MatDatepickerModule
];
@NgModule({
declarations: [],
imports: [
CommonModule,
...modules
],
exports: [
...modules
],
})
export class MaterialModule {}
Если у exports
нет других модулей, вы также можете использовать exports: modules
.