У меня есть приложение, в котором есть много простых классов "Model", которые используются во многих местах. Я закончил с большим количеством импорта, импортируя все это оттуда отдельные файлы.
В тестовом приложении (это Ionic4 / Angular, но должно быть одинаковым для любого приложения Angular) я попытался обернуть пару классов в модуль, чтобы затем использовать только один оператор импорта.
Каждый класс Model является простым классом, например
export class Model1 {
public name:string;
}
А в modules.module.ts
у меня есть следующее ...
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { Model1 } from './model1';
import { Model2 } from './model2';
@NgModule({
declarations: [],
imports: [
CommonModule
],
exports:[Model1, Model2]
})
export class ModelsModule { }
Теперь я хочу использовать это в HomeModule
В home.module.ts
У меня импортирован модуль Models ..
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
ModelsModule, <------ my import
RouterModule.forChild([
{
path: '',
component: HomePage
}
])
],
declarations: [HomePage]
})
export class HomePageModule {}
Пока все выглядело хорошо.
Теперь я хотел потреблять Модели в home.page.ts
..
Я добавил импорт ..
import { Model1, Model2 } from '../models/models/models.module';
Однако в среде IDE (VSCode) теперь отображается следующая ошибка.
Module '"../models/models/models.module"' has no exported member 'Model1'.ts(2305)
import Model1
Я не уверен, что сделал неправильно.
Могу ли я (и рекомендуется) использовать Modules
, это такой способ, или есть какой-то лучший способ сделать то, что я после?
Заранее спасибо за любую помощь.