【问题标题】:Type page is part of the declarations of 2 modules error类型页面是 2 个模块错误声明的一部分
【发布时间】:2019-09-25 05:49:46
【问题描述】:

我想在多个页面中使用相同的模式。但是我得到这个错误,页面类型是 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 {}

【问题讨论】:

    标签: javascript angular typescript ionic-framework ionic4


    【解决方案1】:

    您应该创建一个名为 shared 或任何您希望的文件夹。将您想要多次使用的 pipesdirectivescomponentsmodals 移动到 shared 文件夹中。然后创建一个 @987654326 @ 在这个文件夹中。 您的设置应如下所示。

    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 {}
    

    【讨论】:

      猜你喜欢
      • 2021-06-15
      • 2019-05-03
      • 1970-01-01
      • 1970-01-01
      • 2019-03-28
      • 1970-01-01
      • 2020-03-28
      • 2020-02-08
      • 2018-05-18
      相关资源
      最近更新 更多