Вот как выглядит мой leads.module
, без разделения каких-либо компонентов между другими модулями, и все работает, как ожидалось, без ошибок.
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { LeadsPageRoutingModule } from './leads-routing.module';
import { LeadsPages } from '../_pages';
import { LeadsComponents, CreateCustomerComponents } from 'src/components/_components';
@NgModule({
imports: [
CommonModule,
IonicModule,
LeadsPageRoutingModule,
FormsModule,
ReactiveFormsModule
],
declarations: [
...LeadsPages,
...LeadsComponents,
...CreateCustomerComponents
]
})
export class LeadsModule { }
Я бы оставил его в покое, если бы мог, но мне нужно использовать CreateCustomerComponents
в другом модуле для использования на другой странице в приложении. Я не могу просто объявить CreateCustomerComponents
в двух разных модулях, потому что компоненты могут быть объявлены только один раз в рамках проекта. Итак, я создаю новый create-customer-shared.module
, который выглядит так:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { CreateCustomerComponents } from 'src/components/_components';
@NgModule({
imports: [CommonModule, FormsModule, ReactiveFormsModule],
declarations: [...CreateCustomerComponents],
exports: [...CreateCustomerComponents]
})
export class CreateCustomerSharedModule { }
Затем я обновляю свой leads.module
до:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { LeadsPageRoutingModule } from './leads-routing.module';
import { LeadsPages } from '../_pages';
import { LeadsComponents } from 'src/components/_components';
import { CreateCustomerSharedModule } from 'src/modules/create-customer-shared.module';
@NgModule({
imports: [
CommonModule,
IonicModule,
LeadsPageRoutingModule,
// FormsModule,
// ReactiveFormsModule,
CreateCustomerSharedModule
],
declarations: [
...LeadsPages,
...LeadsComponents
]
})
export class LeadsModule { }
На этом этапе CreateCustomerComponents
разделяются между модулями, НО реактивные формы, от которых они зависят, больше не работают. В частности, я получаю сообщение об ошибке - ОШИБКА Ошибка: нет средства доступа к значению для элемента управления формы с именем: '[имя]'. Вы можете видеть, что я оставил закомментированные FormsModule
и ReactiveFormsModule
в leads.module
, потому что я пытался импортировать их в leads.module
, но не смог решить эту проблему.
Мы будем очень признательны за любые предложения или рекомендации по решению этой проблемы. Спасибо!