Тип страницы является частью объявления ошибок 2 модулей - PullRequest
0 голосов
/ 25 сентября 2019

Я хочу использовать один и тот же модал на нескольких страницах.Но я получаю эту ошибку, что тип страницы является частью объявлений 2 модулей.Я знаю, что подобный вопрос уже существует ( Компонент является частью объявлений 2 модулей в Angular ), но я не могу заставить его работать с ним, так как я работаю не с модулем, а со страницей.

page.module.ts, который используется в качестве модели

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';

import { IonicModule } from '@ionic/angular';
import { ComponentsModule } from '../components/components.module';

import { FilterPage } from './filter.page';

const routes: Routes = [
  {
    path: '',
    component: FilterPage
  }
];

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    ReactiveFormsModule,
    IonicModule,
    RouterModule.forChild(routes),
    ComponentsModule
  ],
  declarations: [FilterPage],
  exports:  [FilterPage]
})
export class FilterPageModule {}

один из двух page.module.ts, используемых для отображения модели

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
import { FilterPage } from '../filter/filter.page'

import { IonicModule } from '@ionic/angular';

import { FriendsPage } from './friends.page';


const routes: Routes = [
  {
    path: '',
    component: FriendsPage
  }
];

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    IonicModule,
    RouterModule.forChild(routes),

  ],
  declarations: [FriendsPage, FilterPage],
  entryComponents:  [FilterPage]
})
export class FriendsPageModule {}

1 Ответ

1 голос
/ 25 сентября 2019

Вы должны создать папку с именем shared или как хотите. Переместите pipes, directives, components и modals, которые вы хотите использовать несколько раз в папке shared. Затем создайте shared.module.ts внутри этой папки.Ваша настройка должна быть такой, как показано ниже.

const COMPONENTS=[
FilterPage
];

@NgModule({
    exports:[...COMPONENTS,...PIPES,...DIRECTIVES],
    declarations:[...COMPONENTS,...PIPES,...DIRECTIVES],
    entryComponents:[...COMPONENTS]
})
export class SharedModule{

}

, затем импортируйте SharedModule в модуль, который вы хотите использовать внутри.

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    IonicModule,
    RouterModule.forChild(routes),
    SharedModule
  ],
  declarations: [FriendsPage],
  entryComponents:  [FriendsPage]
})
export class FriendsPageModule {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...