我想在多个页面中使用相同的模式。但是我收到这个错误,即页面的类型是2个模块的声明的一部分。我知道已经存在类似的问题(Component is part of the declarations of 2 modules in 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 {}
答案 0 :(得分:1)
您应该创建一个名为shared或任意名称的文件夹。将pipes
,directives
,components
和modals
移至{{ 1}}文件夹。然后在此文件夹中创建一个shared
。
您的设置应如下所示。
shared.module.ts
然后将const COMPONENTS=[
FilterPage
];
@NgModule({
exports:[...COMPONENTS,...PIPES,...DIRECTIVES],
declarations:[...COMPONENTS,...PIPES,...DIRECTIVES],
entryComponents:[...COMPONENTS]
})
export class SharedModule{
}
导入要在内部使用的模块。
SharedModule